Страница 1 из 2

Онлайн пользователи в приложении

Добавлено: 13 фев 2013, 16:50
ZEBC
Помогите имеется такой код вывода кто онлайн в игре

Код: Выделить всё

  <? require_once ("config.php.ini");require_once ("func.php"); if(!connect(DB_HOST,DB_NAME,DB_USER,DB_PASS)) echo "Не удалось подключиться к бд.<br>";     $time=time();       $sql=mysql_query("SELECT `vkid`,`name`,`votes`,`votesB`,`ip` FROM `users` WHERE `last_activity`>(".($time-61).")");    echo "<b>"; echo mysql_affected_rows(); echo "</b>"; echo " Онлайн"; ?>  
но из базы он выводит - 1 Онлайн что неправильно

Re: Онлайн пользователи в приложении

Добавлено: 13 фев 2013, 16:57
Fedya
mysql_affected_rows() не работает с SELECT -- только с запросами, модифицирующими таблицу. Чтобы получить количество рядов, возвращённых SELECT-запросом, используйте функцию mysql_num_rows().


Если последний запрос был неудачным, функция вернёт -1.
http://www.php.su/functions/?mysql-affected-rows

Re: Онлайн пользователи в приложении

Добавлено: 13 фев 2013, 17:15
ZEBC
Fedya
сделал так

Код: Выделить всё

  <? require_once ("config.php.ini");require_once ("func.php"); if(!connect(DB_HOST,DB_NAME,DB_USER,DB_PASS)) echo "Не удалось подключиться к бд.<br>";     $time=time();       $sql=mysql_query("SELECT `vkid`,`name`,`votes`,`votesB`,`ip` FROM `users` WHERE `last_activity`>(".($time-61).")");    echo "<b>"; echo mysql_num_rows(); echo "</b>"; echo " Онлайн"; ?>  
выводит просто Онлайн хотя онлайн люди есть :D

Re: Онлайн пользователи в приложении

Добавлено: 13 фев 2013, 17:52
Fedya

Код: Выделить всё

mysql_num_rows($sql);

Re: Онлайн пользователи в приложении

Добавлено: 13 фев 2013, 17:56
ZEBC
Fedya
тоже самое

Код: Выделить всё

 <? require_once ("config.php.ini");require_once ("func.php"); if(!connect(DB_HOST,DB_NAME,DB_USER,DB_PASS)) echo "Не удалось подключиться к бд.<br>";     $time=time();      $sql=mysql_query("SELECT `vkid`,`name`,`votes`,`votesB`,`ip` FROM `users` WHERE `last_activity`>(".($time-61).")");    echo "<b>"; echo mysql_num_rows($sql); echo "</b>"; echo " Онлайн"; ?>   
просто онлайн

Re: Онлайн пользователи в приложении

Добавлено: 13 фев 2013, 18:16
Fedya
Если тут есть ошибка, то она в условии,

Код: Выделить всё

`last_activity`>(".($time-61).")
потому что у меня все работает.

Попробуй так

Код: Выделить всё

 <?require_once ("config.php.ini");require_once ("func.php"); if(!connect(DB_HOST,DB_NAME,DB_USER,DB_PASS)) echo "Не удалось подключиться к бд.<br>";     $time = time() - 61;      $sql = mysql_query("SELECT `vkid`,`name`,`votes`,`votesB`,`ip` FROM `users` WHERE `last_activity` > {$time}");        if(mysql_num_rows($sql)>0){        echo "<b>".mysql_num_rows($sql)."</b> Онлайн";    }    else{        echo "Все оффлайн";    }?> 

Re: Онлайн пользователи в приложении

Добавлено: 13 фев 2013, 18:21
ZEBC
Fedya
Твой код вывел просто Все оффлайн не пойму что не так

Re: Онлайн пользователи в приложении

Добавлено: 13 фев 2013, 19:44
Fedya
last_activity это поле точно нормально обновляется?

Re: Онлайн пользователи в приложении

Добавлено: 13 фев 2013, 19:58
ZEBC
Fedya
да нормально обновляется

обновил приложение дата изменилась

помогите ( :cry:

Re: Онлайн пользователи в приложении

Добавлено: 13 фев 2013, 21:28
ZEBC
Fedya
моя ошибка была ) спасибо большое поля votesB небыло в бд удалил его заработало )

а как вывести еще и имя и фамилию ? кто онлайн так не работает (

Код: Выделить всё

  echo "<td>".$row['name']."</td>\n";