PHP.SU

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


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

> Без описания
leshiy
Отправлено: 19 Июня, 2011 - 14:03:20
Post Id


Частый гость


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


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




Есть код:
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 в ряду.
 
 Top
Давит
Отправлено: 19 Июня, 2011 - 14:07:35
Post Id



Частый гость


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


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




так должно бит вроде
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM date WHERE cat='$cat' ORDER BY id DESC LIMIT $start, 17",$db);
 
 Top
altermann
Отправлено: 19 Июня, 2011 - 14:11:41
Post Id



Частый гость


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


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




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. }

(Отредактировано автором: 19 Июня, 2011 - 14:19:29)



-----
Я прирожденный кузнец, я не могу не куя!
 
 Top
leshiy
Отправлено: 19 Июня, 2011 - 14:41:45
Post Id


Частый гость


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


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




Спасибо!!!Все получилось.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Работа с СУБД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB