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
Форумы портала PHP.SU :: Версия для печати :: Вывод картинок из БД
Форумы портала PHP.SU » » Работа с СУБД » Вывод картинок из БД

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

1. leshiy - 19 Июня, 2011 - 14:03:20 - перейти к сообщению
Есть код:
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT * FROM date WHERE cat='$cat' ORDER BY date DESC, id DESC LIMIT $start, 17",$db);
  3. if (mysql_num_rows($result) > 0){$myrow = mysql_fetch_array($result);
  4. do{$c=1;
  5. print "<table align=center>";
  6. while ($myrow=mysql_fetch_array($result)){
  7. if ($c==1){
  8. print "<tr>";}
  9. print "<td><table>";
  10. printf( "<tr><td><div><a href='post.php?id=%s'><img src='%s' height='120' width='160'></div>
  11. </td></tr>",$myrow['id'],$myrow['mini_img']);
  12. print "</table><br></td>";
  13. if ($c==4){
  14. print "</tr>";
  15. $c=0;}
  16. $c++;}
  17. print "</table><br>";}
  18. while ($myrow = mysql_fetch_array($result));
  19.  

Но почему то если в бд 2 картинки то выводится только одна, а должно выводится по 4 в ряду.
2. Давит - 19 Июня, 2011 - 14:07:35 - перейти к сообщению
так должно бит вроде
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM date WHERE cat='$cat' ORDER BY id DESC LIMIT $start, 17",$db);
3. altermann - 19 Июня, 2011 - 14:11:41 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. if (mysql_num_rows($result) > 0){$myrow = mysql_fetch_array($result);
  2. do{$c=1;
  3. print "<table align=center>";
  4. while ($myrow=mysql_fetch_array($result)){


потому что в этом куске первый mysql_fetch_array читай информацию и не использует, а выводит то что читает второй. И вообще у вас что-то сильно много mysql_fetch_array как для одного запроса.

Не используйте do-while, лучше while ($myrow=mysql_fetch_array($result)) {}

PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM date WHERE cat='$cat' ORDER BY date DESC, id DESC LIMIT $start, 17", $db);
  2. if (mysql_num_rows($result) > 0) {
  3.     print "<table align=center>";
  4.     while ($myrow = mysql_fetch_array($result)) {
  5.             echo ($c%4 == 0 ? '<tr>' : '');
  6.             printf("<td><div><a href='post.php?id=%s'><img src='%s' height='120' width='160'></div></td>", $myrow['id'], $myrow['mini_img']);
  7.             echo ($c%4 == 0 ? '</tr>' : '');
  8.             $c++;
  9.     }
  10.     print "</table><br>";
  11. }
4. leshiy - 19 Июня, 2011 - 14:41:45 - перейти к сообщению
Спасибо!!!Все получилось.

 

Powered by ExBB FM 1.0 RC1