Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Почему-то прерывается цикл while(). Покажите, где ошибка.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
koka
Отправлено: 02 Августа, 2010 - 13:59:34
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




Пожалуйста, подскажите, где ошибка, происходит выход из цикла преждевременно.
То есть выводится только первый комментарий.


PHP:
скопировать код в буфер обмена
  1.    
  2. //выводим комментарии
  3.  while ($comments = mysql_fetch_assoc($sql2))
  4.     {echo "<table width='100%'><tr><td width='50%'> <h4> ".$comments['theme']." </h4> </td> <td> ".$comments['date']."<tr><td colspan='2'></td></tr>";
  5.     echo "<tr><td colspan='2'><font size='5'> ".$comments['message']." </font> </td></tr>";
  6.     echo "<tr><td><div align='right'> <i> <b> <font size='4'> ".$comments['name']." </font> </b> </i> </div> </td> </tr> </table>";
  7.     if ($comments['servis_user_id'] == '0')
  8. //разрешаю пользователям ответить
  9.     {
  10.      if ((isset($_COOKIE[servis_user_name])) && ($_GET[servis_id]==$_COOKIE[servis_id]))
  11.      echo " <div align='center'> <a href='http://services.rulevoi.net/services_comments_answer.php?comment_id=".$comments['comment_id']."'> Ответить </a> </div> ";
  12.      }
  13.      else
  14. //иначе вывожу ответ
  15.      {
  16.     $query3 = "SELECT *
  17.            FROM `users` WHERE `user_id`={$comments['servis_user_id']}";
  18.     $sql3 = mysql_query($query3);
  19.     $servis_user = mysql_fetch_assoc($sql3);
  20.      echo "<table width='100%'><tr><td width='50%'> <h4> Ответил <i> ".$servis_user['name']." ".$servis_user['surname']." </i> </h4> </td><td> ".$comments['answer_date']." </td></tr> <tr> <td colspan='2'> <font size='5'> ".$comments['answer']." </font> </td></tr></table>";
  21.     }
  22.     }



Надо ли привести структуру таблиц, остальной код???


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
RomAndry Администратор
Отправлено: 02 Августа, 2010 - 14:02:04
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


Помог: 6 раз(а)




1. не стоит ВСЕ писать, достаточно только код для понимания задачи
2. включите показ ошибок
3. используйте mysql_error
 
My status
 Top
SAD
Отправлено: 02 Августа, 2010 - 14:12:15
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




mb mysql_fetch_array? и у тебя пропущен закрывающий тег </td> и </tr>

(Отредактировано автором: 02 Августа, 2010 - 14:13:40)

 
 Top
koka
Отправлено: 02 Августа, 2010 - 14:39:02
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




RomAndry пишет:
1. не стоит ВСЕ писать, достаточно только код для понимания задачи
2. включите показ ошибок
3. используйте mysql_error

mysql_error никакой ошибки не выдаёт. Подозреваю, что у меня идёт преждевременное завершение цикла.
ошибки php не выводит!!!
SAD пишет:
mb mysql_fetch_array? и у тебя пропущен закрывающий тег </td> и </tr>

Вставил закрывающий тег, не помогло.
что значит
Цитата:
mb mysql_fetch_array?

????

(Отредактировано автором: 02 Августа, 2010 - 14:43:41)



-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
SAD
Отправлено: 02 Августа, 2010 - 15:03:57
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




оно и не должно помочь. я говорю, может вместо mysql_fetch_assoc использовать mysql_fetch_array? и кстати названия имен в cookie, get, post лучше брать в кавычки

(Отредактировано автором: 02 Августа, 2010 - 15:06:50)

 
 Top
koka
Отправлено: 02 Августа, 2010 - 15:54:01
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




SAD пишет:
но и не должно помочь. я говорю, может вместо mysql_fetch_assoc использовать mysql_fetch_array? и кстати названия имен в cookie, get, post лучше брать в кавычки

Спасибо за совет.
Mysql_fetch_array тоже не помогло, решил проблему кардинально - деоптимизировал БД. Радость


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
JustUserR
Отправлено: 03 Августа, 2010 - 02:51:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




koka Вообще для диагностики полезно проверить какой реальной SQL-запрос генерируется в PHP-скрипте и запустить его вручную в SQL-клиенте - для этого можно осуществить вывод соответствующего запроса на экран и скопировать его данные из полученного исходного HTML-кода страницы - это также даст возможность проверить значения интерполируемых переменных


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
koka
Отправлено: 04 Августа, 2010 - 10:09:50
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




JustUserR пишет:
koka Вообще для диагностики полезно проверить какой реальной SQL-запрос генерируется в PHP-скрипте и запустить его вручную в SQL-клиенте - для этого можно осуществить вывод соответствующего запроса на экран и скопировать его данные из полученного исходного HTML-кода страницы - это также даст возможность проверить значения интерполируемых переменных


Это, например, команда типа echo $query???
У меня вроде бы в запросе 'WHERE= ' оставался пустым, почему то не подставлялись данные из предыдущего SQL запроса. Сейчас уже не помню. Но сегодня делал другой скрипт, там подряд обращался к разным таблицам и извлекал данные, так что не знаю, почему тогда были проблемы. Наверное, что-то не смог увидеть


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
JustUserR
Отправлено: 04 Августа, 2010 - 14:55:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




koka пишет:
Это, например, команда типа echo $query???
Да имелась в виду именно эта команда - причем важно что ее вывод нужно просмаривать не на самой сгенерированной HTML-странице в браузере а в ее исходном коде - это нужно для чтобы точно увидеть все спецсимволы в оригинальном уровне экранирования


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB