[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Считать нули из строк в БД
Ramzil_Nixon
Я смог высечлить количество всех сообщений пользователя следующим образом:

$sql = mysql_query("SELECT `polusatel` FROM `message` WHERE 
`polusatel` ='".$_SESSION['id']."'
") or die (mysql_error()); // Запрашиваем количество сообщений пользователя
$kol_new_messages = mysql_num_rows($sql); // Обрабатываем данные



Делаю следующим образом:


if($kol_new_messages > 0 && $kol_new_messages['polusatel'] == 0) // Если естьодно новое сообщение выполняем условие
$new_messages = '<b>('.$kol_new_messages.')</b>'; // Готовим для вывода на экран


При открытии сообщения, обновляется столбец indikator в соответствующей строке на единицу. Допустим у пользователя 15 сообщений в списке сообщений, и он прочем 10 из них, в новых должен остаться 5. В БД столбец обновляется, но считать только нули, понять не могу. Помогите пожалуйста



Спустя 3 часа, 16 минут, 16 секунд (17.11.2011 - 17:53) Ramzil_Nixon написал(а):
uuuuuuuuuuuuuuuuuuuuuuuuuuuuuupppppppppppppppppppppppppppp

Спустя 27 минут, 37 секунд (17.11.2011 - 18:20) inpost написал(а):
Ramzil_Nixon
echo '<pre>'.print_r($kol_new_messages,1).'</pre>';


Добавь перед условием. Посмотри, что у тебя там находится :)

Спустя 13 часов, 11 минут, 53 секунды (18.11.2011 - 07:32) Ramzil_Nixon написал(а):
Цитата (inpost @ 17.11.2011 - 15:20)
Добавь перед условием. Посмотри, что у тебя там находится smile.gif


У меня там 15 выходит, то есть считает все данные, которые пренадлежать пользователя. 0 и 1 все считает. sad.gif

Спустя 26 минут, 41 секунда (18.11.2011 - 07:59) Ramzil_Nixon написал(а):
Здесь поменялся немного:

$sql = mysql_query("SELECT * FROM `message` WHERE 
`polusatel` ='".$_SESSION['id']."'
") or die (mysql_error()); // Запрашиваем количество сообщений пользователя
$kol_new_messages = mysql_num_rows($sql); // Обрабатываем данные

Спустя 5 минут, 52 секунды (18.11.2011 - 08:05) McLotos написал(а):
Вот смотри (мы кстати вчера об этом говорили). У тебя есть таблица в которой хранятся сообщения, так?
Зашёл какой-то юзверь.
Допустим таблица у тебя что-то типа
Получатель
Отправитель
Текст
Статус (0 или 1)
Ты посылаешь запрос в БД
Я такой-то такой-то $myid, выбрать все сообщения где я получатель и Статус письма 0 (не прочитано).
А по поводу получения их количества почитай про Count()

Спустя 3 часа, 9 минут, 13 секунд (18.11.2011 - 11:14) McLotos написал(а):
Когда я захожу, в сообщение ты просто берёшь и в строке этого сообщения меняешь значение поля с 0 на 1.
Т.е. если у тебя допустим msg_id сообщения передаётся по get ты посылаешь запрос в БД типа
UPDATE имя_таблицы SET имя_поля=1 where msg_id=$_GET['msg_id']
Для удобства можешь его объединить с тем запросом, который вытягивает текст самого сообщения, если мне не изменяет память это делается через Union. Всё это ты делаешь когда я захожу в само сообщение, а дальше всё очень просто. Чтобы узнать сколько сообщений у меня осталось непрочитанных ты уже посылаешь запрос на получение количества сообщений с 0 значением. Как это делается я тебе уже объяснял. =)

Спустя 5 часов, 14 минут, 15 секунд (18.11.2011 - 16:28) inpost написал(а):
Ramzil_Nixon
Ты запись не достал, я с тобой каждую из строк проходил, и говорил, в чём отличие между mysql_num_rows и mysql_fetch_assoc. Ты как ребёнок, сегодня сказал, в одно ухо влетело, в другое вылетело, побежал в песочнику, вернулся и спрашиваю - а что это?! Я думал, тесная беседа пойдет на пользу, как оказалось - нет. Мы разобрали скрипт, ты сказал, что всё понял, а теперь понятно, что либо ничего не понимаешь, либо всё забыл. И я уверен, что на вопрос о том, что такое mysql_fetch_assoc и _num_rows мы тебе говорили, а нет - мог бы почитать по ссылке, которую я дал: php.su.

$kol_new_messages['polusatel'] - Его не существует.

Ты СЕРВЕРУ СКАЗАЛ: Чувак, назови мне, сколько записей есть, он ответил - 15. Ты ему "ОК!", а является ли получатель нулю? Он тебе: "Ты попутал парень, какой получатель? Ты сначала выбери строку, с которой работать будешь, а потом её пытайся анализировать и сравнивать. У ТЕБЯ ЗАПИСИ НЕ ВЫБРАНЫ, если я сказал, что их 15 -то тебе известно, что ИХ 15, НИЧЕГО БОЛЕЕ. Тебе не известно состояние каждой из строк, тебе не известно что и как имеем, ты знаешь лишь то, что ты попросил у сервера, а попросил ты ЧЁТКО: "СКОЛЬКО СТРОК", и получил ответ "15". Ты не спрашивал: "А в первой записи правда 1? А во второй записи правда 2?" Ты спросил лишь так: "СКОЛЬКО", на что ответ четкий и получил - 15!


_____________
Миллионы приходят, уходят, не в них счастье. Самым важным на свете всегда будут люди в этой комнате, вот здесь, сейчас...

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.