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 :: Как вставить проверку в код цикла

 PHP.SU

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


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

> Без описания
Roman25
Отправлено: 22 Июля, 2015 - 12:30:11
Post Id


Новичок


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


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




Здравствуйте, форумчане.
Нужна Ваша помощь.
У меня есть частичка кода, которая выводит информацию с бд.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $result = mysql_query ("SELECT blogdata.id, blogdata.name, blogdata.date, blogdata.tags, blogdata.text, blogdata.comment, categories.title, (SELECT COUNT(*)  FROM comments WHERE comments.post=blogdata.id) AS count FROM blogdata INNER JOIN categories ON (blogdata.tags=categories.id) ORDER BY id DESC LIMIT $start, $num", $db);
  5.  
  6. if (!$result)
  7. {
  8. echo "<p>Ошибка!</p>";
  9. }
  10. $myrow = mysql_fetch_array ($result);
  11. do
  12. {      
  13. <table style='width:600px' border='0' cellspacing='0' cellpadding='0' class='BlogStripe'>
  14. <tr>
  15.    <td rowspan='4' class='BlogStripeLeft' style='width:4px'></td>
  16.    <td rowspan='4' style='width:10px'></td>
  17.    <td style='width:480px; height:4px'></td>
  18.    <td style='width: 113px; height:4px'></td>
  19.    <td style='width:4px; height:4px'></td>
  20. </tr>
  21. <tr>
  22.    <td style='width:480px'><div class='BlogTopic'>
  23.    <a href='item/view_post.php?id=%s'>%s</a></div></td>  
  24.    <td class='BlogSmall' rowspan='2'  style='width:113px'>%s<br>  
  25.    <a href='item/view_post.php?id=%s'>Ссылка</a></td>
  26.    <td style='width:4px' rowspan='2'></td>
  27. </tr>
  28. <tr>
  29.    <td>рубрика: <a href='tags/view_cat.php?tags=%s'> %s  </a></td>
  30. </tr>
  31. <tr>
  32.    <td style='height:4px'></td>
  33.    <td style='width:113px; height:4px'></td>
  34.    <td style='width:4px; height:4px'></td>
  35. </tr>
  36. </table>
  37. <table style='width:600px' border='0' cellspacing='0' cellpadding='0'>
  38. <tr><td>%s</td>
  39. </tr>
  40. <tr><td style='text-align:right; vertical-align: top;'> <a href='item/view_post.php?id=%s'>комментарии (%s) </a></td></tr></table>  <div style='height:20px'></div>", $myrow ["id"], $myrow ["name"], $myrow ["date"], $myrow ["id"], $myrow ["tags"], $myrow ["title"], $myrow ["text"], $myrow ["id"], $myrow ["count"]);
  41. }
  42.  
  43. while ($myrow = mysql_fetch_array ($result));
  44. ?>


Но я хочу, например, задать условие:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if ($comment==1) { print "<a href=item/view_post.php?id=%s>комментарии (%s) </a>"; }
  4. else { print "<p>Нет комментариев</p>"; }
  5. ?>
  6.  


Как мне это реализовать в моем случае?
В printf вставить не получается.
Или это можно как-то по-другому сделать?
Помогите, пожалуйста.
 
 Top
difight
Отправлено: 22 Июля, 2015 - 13:17:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


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




перед циклом проверь сколько у тебя вернулось строк
если больше 0 то юзай цикл как и юзал если равно 0 то выводи ошибку
 
My status
 Top
Roman25
Отправлено: 22 Июля, 2015 - 13:56:27
Post Id


Новичок


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


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




Мне нужно сюда

Цитата:
<tr><td style='text-align:right; vertical-align: top;'> <a href='item/view_post.php?id=%s'>комментарии (%s) </a></td></tr></table> <div style='height:20px'></div>", $myrow ["id"], $myrow ["name"], $myrow ["date"], $myrow ["id"], $myrow ["tags"], $myrow ["title"], $myrow ["text"], $myrow ["id"], $myrow ["count"]);


как-то вставить проверку типа:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if ($comment==1) { print "<a href=item/view_post.php?id=%s>комментарии (%s) </a>"; }
  3. else { print "<p>Нет комментариев</p>"; }
  4. ?>


Но в принтф я не могу такое вставить. Покажите, как что-то подобное можно реализовать на моем примере и куда вставить, если не трудно.
Я в коде слабо разбираюсь.

P.S. Для чего нужен mysql_num_rows() ? Объясните.
 
 Top
esterio
Отправлено: 22 Июля, 2015 - 15:48:51
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




1. вибросьте урокы Попова
2. http://forum.php.su/topic.php?fo...33&topic=793
 
 Top
difight
Отправлено: 22 Июля, 2015 - 16:07:42
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


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




Roman25 пишет:
P.S. Для чего нужен mysql_num_rows() ? Объясните.

Я же написал для чего
difight пишет:
перед циклом проверь сколько у тебя вернулось строк

Перед do вставь условие проверки кол-ва строк, я же вроде и так подробно описал, прочитай про условия if else
 
My status
 Top
Roman25
Отправлено: 22 Июля, 2015 - 17:43:17
Post Id


Новичок


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


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




esterio пишет:
1. вибросьте урокы Попова
2. http://forum.php.su/topic.php?forum=33&topic=793


А по каким урокам учиться новичку?
(Добавление)
difight пишет:
Roman25 пишет:
P.S. Для чего нужен mysql_num_rows() ? Объясните.

Я же написал для чего
difight пишет:
перед циклом проверь сколько у тебя вернулось строк

Перед do вставь условие проверки кол-ва строк, я же вроде и так подробно описал, прочитай про условия if else


Уже сделал сам. Без mysql_num_rows ()..

(Отредактировано автором: 22 Июля, 2015 - 17:46:40)

 
 Top
broshurkaplus
Отправлено: 29 Июля, 2015 - 23:08:57
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




если у вас не по 10к коментов в день к статье - то подход с дерганием количества коментариев изначально не верен.
попробуйте рассмотреть вариант с обновлением поля суммы коментов в таблице при их вставке: скриптом или триггером бд, а затем выводить готовое, а не дергать базу каждый раз.
ведь лучше 1 раз посчитать а потом выводить заранее подготовленное количество.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB