X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Пустая выборка после функции count
Kuchuluk
Kuchuluk
Topic Starter сообщение 15.5.2014, 14:17; Ответить: Kuchuluk
Сообщение #1


делаю выборку комментариев из базы данных таким кодом

$sql = "SELECT * FROM `comments` WHERE `id` = {$id}";
$rs = mysql_query($sql);

$comments = array();
while ($row = mysql_fetch_assoc($rs))
{
$comments[] = $row;
}

$count = count($comments);

if ($count == 0)
{
$comments = "Комментариев нет";
return $comments;
}
else
{
return $comments;
}

и переменная $comments возвращается как пустой массив. Если убрать эту строчку $count = count($comments); тогда возвращается массив с комментариями как положено. Почему после функции count он пустой?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kamchatniyoleg
kamchatniyoleg
сообщение 15.5.2014, 14:29; Ответить: kamchatniyoleg
Сообщение #2


массив скорее всего многомерный и функция неправильно понимает как ей считать элементы . Поэтому косяк ! Вам нужно количество комментариев ? Если да то используйте COUNT() в mysql запросе !
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alex159
alex159
сообщение 15.5.2014, 15:34; Ответить: alex159
Сообщение #3



$sql = "SELECT * FROM `comments` WHERE `id` = {$id}";
$rs = mysql_query($sql);

$comments = array();
while ($row = mysql_fetch_assoc($rs))
{
    $comments[] = $row;
}
print_r($comments);
$count = count($comments);

Что выведет? 
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ixman
ixman
сообщение 15.5.2014, 15:40; Ответить: ixman
Сообщение #4


Да хотелось бы услышать вам именно подсчёт нужен или нет. И в коде очень много лишнего, всё можно сделать намного проще
Самый простой вариант подсчёта будет таким

$count = mysql_num_rows(mysql_query("SELECT `id` FROM `comments` WHERE `id` = {$id}"));

echo $count;
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kuchuluk
Kuchuluk
Topic Starter сообщение 15.5.2014, 15:42; Ответить: Kuchuluk
Сообщение #5


(alex159 @ 15.5.2014, 18:34) *


Что выведет? 


количество комментариев выводит правильно. Именно почему то после этой функции массив становится пустым
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ixman
ixman
сообщение 15.5.2014, 15:43; Ответить: ixman
Сообщение #6


И функция mysql_fetch_assoc и так возвращает массив, а таким вот методом $comments[] = $row; вы его делаете более сложным по структуре, и возможно из-за этого функция count не может посчитать
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kuchuluk
Kuchuluk
Topic Starter сообщение 15.5.2014, 15:44; Ответить: Kuchuluk
Сообщение #7



[member=Ixman], я уже переделал с mysql_num_rows, но просто для себя на будущее хотел узнать, почему после функции count массив пустой. Может у них несовместимость какая то. Так то функция count количество записей правильно подсчитывает.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ixman
ixman
сообщение 15.5.2014, 15:49; Ответить: ixman
Сообщение #8


По идеи должно быть всё нормально, почему массив пустой не могу сказать. Сам с таким не сталкивался


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужен кодер, чтобы пофиксить ошибку Wordpress после переноса сайта
0 Alex-777 844 7.4.2024, 18:05
автор: Alex-777
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыСостояние после ампутации - нужна помощь
благотворительный топик
49 vitvirtual 5873 1.4.2024, 5:23
автор: vitvirtual
Горячая тема (нет новых ответов) Исчезающие фрилансеры после предоплаты. Зачем? Какой смысл?
36 metvekot 9579 31.3.2024, 1:01
автор: Liudmila
Открытая тема (нет новых ответов) После обновления all in one seo pack пропал keywords?
16 pozitron123 3535 24.2.2021, 15:13
автор: kozak199110
Открытая тема (нет новых ответов) После переноса сайт на DLE перестал корректно работать
Ищу того, кто может помочь заново все верно настроить
6 mr_LasVegas 2000 20.7.2020, 20:52
автор: asd4


 



RSS Текстовая версия Сейчас: 19.4.2024, 8:28
Дизайн