Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подсчет строк
 
 автор: Roo$   (31.08.2006 в 00:13)   письмо автору
 
 

Всем доброй ночи. Вот появился один вопросик. У меня есть БД в которой хронятся онлайн посетители. Столбец "user" хронит имена онлайн (зарегестиров. )людей, а также и гостей (эти поля остаются пустыми). Так вот... мне нужно вывести общее кол-во пустых полей столбца "user", а также подсчитать сколько ячеек не пустые. Тем самым я вывиду результаты о онлайн пользователей, и об онлайн гостей.
Как подсчитать и вывести результат сколько ячеек в столбце пустые, а сколько нет.
Помогите мне пожалуйсто. Вот так выгледит моя БД:



CREATE TABLE `session` (
  `id_session` tinytext NOT NULL,
  `putdate` datetime NOT NULL default '0000-00-00 00:00:00',
  `user` tinytext NOT NULL,
  `ip` varchar(20) NOT NULL default ''
) TYPE=MyISAM;

   
 
 автор: Хулиган   (31.08.2006 в 02:06)   письмо автору
 
   для: Roo$   (31.08.2006 в 00:13)
 

Возможно, это выглядит примерно так:

$query = "SELECT * FROM `session` WHERE 'user' = ''";
$guests_arr = mysql_query ($query);
$guest_count = mysql_num_rows ($guests_arr);

$query = "SELECT * FROM `session` WHERE 'user' != ''";
$users_arr = mysql_query ($query);
$users_count = mysql_num_rows ($users_arr);

print "Guests online - $guest_count";
print "Users online - $users_count";

   
 
 автор: Roo$   (31.08.2006 в 07:40)   письмо автору
 
   для: Хулиган   (31.08.2006 в 02:06)
 

Попробывал как вы мне подсказали. Он мне выводит в $user_count общее кол-во и гостей и пользователей.

   
 
 автор: Roo$   (31.08.2006 в 07:51)   письмо автору
 
   для: Хулиган   (31.08.2006 в 02:06)
 

Все, разобрался, просто апострофы надо было не ставить 'user'. Большое спасибо

   
 
 автор: Lelik   (31.08.2006 в 07:52)   письмо автору
 
   для: Хулиган   (31.08.2006 в 02:06)
 

Исправлено

$query = "SELECT count(*) FROM `session` WHERE 'user' = ''"; 
$guests_arr = mysql_query ($query); 
$guest_count = mysql_fetch_array ($guests_arr); 

$query = "SELECT count(*) FROM `session` WHERE 'user' != ''"; 
$users_arr = mysql_query ($query); 
$users_count = mysql_fetch_array($users_arr); 

print "Guests online - $guest_count[count(*)]"; 
print "Users online - $users_count[count(*)";

   
 
 автор: Roo$   (31.08.2006 в 20:41)   письмо автору
 
   для: Lelik   (31.08.2006 в 07:52)
 

Все работает. Теперь как мне вывести через запятую имена всех онлайн пользователей?

   
 
 автор: Roo$   (31.08.2006 в 20:51)   письмо автору
 
   для: Roo$   (31.08.2006 в 20:41)
 


$users_name = mysql_fetch_array($users_arr);
$user_name = $users_name['user'];
print $user_name;


Я так сделал, но как их перечислить через запятую?

   
 
 автор: Dobryy   (31.08.2006 в 21:29)   письмо автору
 
   для: Roo$   (31.08.2006 в 20:51)
 


$users_name = mysql_fetch_array($users_arr); 
$str = implode (',',$users_name['user']);
echo $str;

или цыклами

   
 
 автор: Roo$   (31.08.2006 в 22:14)   письмо автору
 
   для: Dobryy   (31.08.2006 в 21:29)
 

Может ты еще что то забыл? У меня вообще ничего не выводит.

   
 
 автор: Хулиган   (31.08.2006 в 22:38)   письмо автору
 
   для: Roo$   (31.08.2006 в 22:14)
 

while ( $user_name = mysql_fetch_array($users_arr) ) print "$user_name,";

   
 
 автор: Roo$   (01.09.2006 в 21:10)   письмо автору
 
   для: Roo$   (31.08.2006 в 20:51)
 

С запятой по прежнему не могу разобраться. Выше пример вообще ничего не выводит.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования