Броене на анонимни

mitko876

Registered
Искам да попитам как мога в статистиката да изваждам колко анонимни са активни

ето ми строежа на онлйн таблицата

Код:
CREATE TABLE `useronline` (
  `id` int(10) NOT NULL auto_increment,
  `ip` varchar(15) NOT NULL default '',
  `user` varchar(40) NOT NULL default '',
  `timestamp` varchar(15) NOT NULL default '',
  `devlvl` varchar(5) NOT NULL default '',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

а това на таблицата която записва действията кои къде е

Код:
CREATE TABLE `tracking` (
  `user` varchar(30) NOT NULL default '',
  `ip` varchar(50) NOT NULL default '',
  `date` timestamp NOT NULL default CURRENT_TIMESTAMP,
  `referer` varchar(70) NOT NULL default '',
  `klient` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Мерси предварително
 
На всяка страница сложи заявка която да ъпдейтва timestamp за дадено IP. Ако това IP го няма - да до добавя.
И после сложи една заявка, която да брои IP-тата на които timestamp-a е по голям от time()-60 .
Дано схвана идеята :wink:

Другия начин за който се сещам е чрез tracking-a.
Пак по същия начин изкарвай IP-тата, само че ще му сложиш и условие да са уникални.
 
Ето ти кода на SBF-то като толкоз много го искаш :wink:

Код:
$ip = $_SERVER['REMOTE_ADDR'];
$thetime = time();

$zaqvkaonline = "delete from useronline where user='$user'";
$rezonline = @mysql_query($zaqvkaonline, $conn) or die("Грешка");

$zaqvkaonline = "insert into useronline (user, ip, timestamp, devlvl) values ('$user', '$ip', '$thetime', '$devlvl')";
$rezonline = @mysql_query($zaqvkaonline, $conn) or die("Грешка");
Код:
$ress= "SELECT * FROM useronline WHERE timestamp>='$thetime' and user!='Anonymous'";
$ruonline = @mysql_query($ress, $conn) or die(include "mysql_error.php");
$numua = mysql_num_rows( $ruonline );
 
ма на мен не ми трябва на SBF кода само казвам че сторежа на тези таблици е същия иначе ми трябва кода колко онлайн анонимни са налиния
ако може някои да ми го напише или да ми даде малко по подробно обяснение защото си нямам понятие как да го направя
 
$time = time()-60;
$zaiavka = "select distinct(`ip`) from tracking where username='anonymous' and date>='$time'";
$rez = @mysql_query($zaiavka, $conn) or die("Error");
$num = mysql_num_rows( $rez );
echo "Анонимни онлайн: ".$num."<br />";
 

Back
Горе