Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Статистика посещаемости сайта


Автор: vitalina 8.9.2009, 13:28
Извините, если точно такой же вопрос уже где-то обсуждался, я не нашла.

У меня есть 2 таблицы: данные о зарегистрированных пользователях и пользователи которые на сайте, но почему-то никак не получается посчитать количество гостей сайта.  smile 

Код

<?php
defined( '_VALID_LM' ) or die( 'Direct Access to this location is not allowed.' );

global $conn,$time;
$guest_array=0;
$user_array=0;
//guests online  
$rs=$conn->Execute("
        SELECT #__simple_stats.id as sid,
        #__simple_stats.date as sdate,
        #__simple_stats.uid as suid, 
#__simple_stats.ip as sip, 
        #__users.id as id,
        #__users.name as name
        FROM #__simple_stats, #__users 
        WHERE #__users.id = #__simple_stats.uid 
        AND #__simple_stats.date > '".( $time- (5 * 60) )."'");
if($rs && $rsa=$rs->GetArray())
{
foreach($rsa as $row)
{
if($row['suid']>0)$user_array++;
else $guest_array++;
if($row['suid']==$row['id']) 
print($row['name']." <p> На сайте ".count($row['name'])." пользовател. <p>");

// НЕ РАБОТАЕТ!
if($row['suid']!=$row['id']) 
print($row['sip']." <p> На сайте ".count($row['name'])." пользовател. <p>");

}
}

 $content=_WE_HAVE;
 if($guest_array && $guest_array!=0){
    if($guest_array==1)$content.=eval('$content.="'._GUEST_COUNT.'";');
    else $content.=eval('$content.="'._GUESTS_COUNT.'";');
    }
 if($user_array && $user_array!=0){
    if($guest_array && $guest_array!=0)$content.=_AND;
    if($user_array==1)eval('$content.="'._MEMBER_COUNT.'";');
    else $content.=eval('$content.="'._MEMBERS_COUNT.'";');
    }
 $content.=_ONLINE;
 echo $content;    
    

?> 

Автор: NewDima 8.9.2009, 14:40
vitalina, прогуляйтесь по сайту и посмотрите, как у других код оформлен. Потом, возможно, кто-то решится вдумываться в код. А пока это груда букв, никому не упало

Автор: vitalina 8.9.2009, 14:54
А что не так с моим кодом?

Автор: IZ@TOP 8.9.2009, 15:29
vitalina, он слишком сложен для понимания. Особенно мне понравились конструкции с eval'ом.

1. Почитайте про форматирование кода.
2. Почитайте про eval, поразмыслите, нужен ли он тут вообще?
3. Зачем в SQL запросе у вас шарпики? Они меня вводят в заблуждение, а mysql воспринимает их как комментарии.

Автор: vitalina 8.9.2009, 17:41
Цитата(IZ@TOP @ 8.9.2009,  15:29)
vitalina, он слишком сложен для понимания. Особенно мне понравились конструкции с eval'ом.

1. Почитайте про форматирование кода.
2. Почитайте про eval, поразмыслите, нужен ли он тут вообще?
3. Зачем в SQL запросе у вас шарпики? Они меня вводят в заблуждение, а mysql воспринимает их как комментарии.

1. Я не поняла.
2. Это код не мой, не знаю.
3. #_ - это префикс баз данных, его устаналивает пользователь при инсталляции CMS.

Автор: bars80080 8.9.2009, 21:32
код не мой, я просто разместила объяву


кто ж всё-таки заниматься им будет?

Автор: nerezus 9.9.2009, 08:23
Цитата

2. Это код не мой, не знаю.
 Перепишите сами код и приходите сюда спрашивать.
Пока что можете во фрилансе создать такую тему, вам там помогут. За деньги. Тогда и код не надо будет переписывать, да и этот давать - вам с нуля напишут, чтобы в этом гуано не ковыряться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)