Колко човека са онлайн в цифри

amarok

Registered
Значи аз имам код с който извеждам колко са онлайн но ги показва потребителите а аз искам да изкарва в цифри колко са онлайн ето моя код


Код:
<?php
function selfURL() {
$s = empty($_SERVER["HTTPS"]) ? ''
: ($_SERVER["HTTPS"] == "on") ? "s"
: "";
 preg_match_all('/(.*)\//',$_SERVER['SCRIPT_NAME'],$lq);
$protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
$port = ($_SERVER["SERVER_PORT"] == "80") ? ""
: (":".$_SERVER["SERVER_PORT"]);
return $protocol."://".$_SERVER['SERVER_NAME'].$port.$lq[0][0];
}
function strleft($s1, $s2) {
return substr($s1, 0, strpos($s1, $s2));
}
$url = selfURL();
$vote = "index.php?a=profile&id";
$path = $url.$vote;
$broinastranica = 20;
$pageNum = 1;
$sesname = $_SESSION['name'];
$time=time();
$query = "UPDATE users SET timestamp='$time' WHERE name='$sesname'";
$result = mysql_query($query);
$timestamp=time()-600;
$query1 = "SELECT * FROM users WHERE timestamp>'$timestamp'";
$result1 = mysql_query($query1);
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;
$query = " SELECT * FROM users ORDER BY points DESC LIMIT $redove, $broinastranica";
$result = mysql_query($query) or die('Error, query failed');
echo "<table border=1 width=450 align=center>";
echo '<tr><td><center>Потребител</td><td><center>Пол</td><td><center>Съюз</td><td><center>Точки</td><td><center>Дай Точка</td></tr>';
while($row = mysql_fetch_array($result1, MYSQL_ASSOC))
{
$firm = ($row[firm]) ? $row[firm] : "<font color=red>Няма съюз</font>";
if($row['namepro'] == '1'){$prouser = '<font color="red"><b>PRO</b></font>';}else{$prouser = ' ';}
echo '<tr><td><center><a href='.$path.'='.$row['id'].'>'.$row['name'].'</a> '.$prouser.'</td><td><center><img src="images/'.$row[sex].'.gif" alt=""/> </td><td><center>'.$firm.'</td><td><center>'.$row['points'].'</td><td><center><a href=index.php?a=vote&id='.$row['id'].'>Давам</a></td></tr>';
}
echo"</table>";
?>


И ако може да се направи колко Гости има :)
 
Код:
<?php
session_start();
$session=session_id();
$time=time();
$time_check=$time-600; // Засича 10 минути

$host="localhost"; // Името на хоста
$username="root"; // Mysql Име
$password=""; // Mysql Парола
$db_name="uro"; // Име на базата дани
$tbl_name="user_online"; // Име на таблицата..

// Свързване с базата дани
mysql_connect("$host", "$username", "$password")or die("cannot connect to server");
mysql_select_db("$db_name")or die("cannot select DB");

$sql="SELECT * FROM $tbl_name WHERE session='$session'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

if($count=="0"){
$sql1="INSERT INTO $tbl_name(session, time)VALUES('$session', '$time')";
$result1=mysql_query($sql1);
}
else {
"$sql2=UPDATE $tbl_name SET time='$time' WHERE session = '$session'";
$result2=mysql_query($sql2);
}

$sql3="SELECT * FROM $tbl_name";
$result3=mysql_query($sql3);

$count_user_online=mysql_num_rows($result3);

echo "Онлайн потребители : <b>$count_user_online </b>";

// Ако са минали 10 минути ще рефрешне сесията
$sql4="DELETE FROM $tbl_name WHERE time<$time_check";
$result4=mysql_query($sql4);

mysql_close();

// Нищо :D
?>

Така :?


Едит: Забравих таблицата

ето

Код:
CREATE TABLE `user_online` (
  `session` char(100) collate latin1_general_ci NOT NULL default '',
  `time` int(11) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
 
Това е кода, но несъм добавял, да извежда колко са онлайн потребителите, защото незнаех къде го искаш, за да го изведеш просто напиши echo $num;

Код:
 <?php
function selfURL() {
$s = empty($_SERVER["HTTPS"]) ? ''
: ($_SERVER["HTTPS"] == "on") ? "s"
: "";
 preg_match_all('/(.*)\//',$_SERVER['SCRIPT_NAME'],$lq);
$protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
$port = ($_SERVER["SERVER_PORT"] == "80") ? ""
: (":".$_SERVER["SERVER_PORT"]);
return $protocol."://".$_SERVER['SERVER_NAME'].$port.$lq[0][0];
}
function strleft($s1, $s2) {
return substr($s1, 0, strpos($s1, $s2));
}
$url = selfURL();
$vote = "index.php?a=profile&id";
$path = $url.$vote;
$broinastranica = 20;
$pageNum = 1;
$sesname = $_SESSION['name'];
$time=time();
$query = "UPDATE users SET timestamp='$time' WHERE name='$sesname'";
$result = mysql_query($query);
$timestamp=time()-600;
$query1 = "SELECT * FROM users WHERE timestamp>'$timestamp'";
$result1 = mysql_query($query1);
$qq = mysql_query("SELECT * FROM users WHERE timestamp>'$timestamp'") or die(mysql_error());
$num=mysql_num_rows($qq);
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;
$query = " SELECT * FROM users ORDER BY points DESC LIMIT $redove, $broinastranica";
$result = mysql_query($query) or die('Error, query failed');
echo "<table border=1 width=450 align=center>";
echo '<tr><td><center>Потребител</td><td><center>Пол</td><td><center>Съюз</td><td><center>Точки</td><td><center>Дай Точка</td></tr>';
while($row = mysql_fetch_array($result1, MYSQL_ASSOC))
{
$firm = ($row[firm]) ? $row[firm] : "<font color=red>Няма съюз</font>";
if($row['namepro'] == '1'){$prouser = '<font color="red"><b>PRO</b></font>';}else{$prouser = ' ';}
echo '<tr><td><center><a href='.$path.'='.$row['id'].'>'.$row['name'].'</a> '.$prouser.'</td><td><center><img src="images/'.$row[sex].'.gif" alt=""/> </td><td><center>'.$firm.'</td><td><center>'.$row['points'].'</td><td><center><a href=index.php?a=vote&id='.$row['id'].'>Давам</a></td></tr>';
}
echo"</table>";
?>
 

Back
Горе