Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вывод из mysql таблицы в виде матрицы состоящей из 5 столбцов
 
 автор: student_ru   (22.02.2011 в 11:33)   письмо автору
 
 

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

$result3 = mysql_query ("SELECT id,title,img,price FROM goodies WHERE cat='$cat'",$db);
$myrow4 = mysql_fetch_array($result3);
$z = 1;
$istr = false;
echo("<table>");
while($myrow4 = mysql_fetch_array($result3))
{
if(!$istr)
{
echo("<tr>");
$istr = true;
}
if($z === 1)
{
echo("<td>
<table id='goods'>
<tr>
<td id='price'>Price: ".$myrow4['price']." USD<div>
</div>
</td>
</tr>
<tr>
<td><img src=admin/". $myrow4['img'] ."></td>
</tr>
<tr>
<td id='title_g'><a id='link_g' href='view_goodies.php?id=".$myrow4['id']."'>".$myrow4['title']."<a></td>
</tr>
</table></td>");
}
elseif($z === 2)
{
echo("<td>
<table id='goods'>
<tr>
<td id='price'>Price: ".$myrow4['price']." USD</td>
</tr>
<tr>
<td><img src=admin/". $myrow4['img'] ."></td>
</tr>
<tr>
<td id='title_g'>".$myrow4['title']."</td>
</tr>
</table></td>");
}
elseif($z === 3)
{
echo("<td>
<table id='goods'>
<tr>
<td id='price'>Price: ".$myrow4['price']." USD</td>
</tr>
<tr>
<td><img src=admin/". $myrow4['img'] ."></td>
</tr>
<tr>
<td id='title_g'>".$myrow4['title']."</td>
</tr>
</table></td>");
}
elseif($z === 4)
{
echo("<td>
<table id='goods'>
<tr>
<td id='price'>Price: ".$myrow4['price']." USD</td>
</tr>
<tr>
<td><img src=admin/". $myrow4['img'] ."></td>
</tr>
<tr>
<td id='title_g'>".$myrow4['title']."</td>
</tr>
</table></td>");
}
elseif($z === 5)
{
echo("<td>
<table id='goods'>
<tr>
<td id='price'>Price: ".$myrow4['price']." USD</td>
</tr>
<tr>
<td><img src=admin/". $myrow4['img'] ."></td>
</tr>
<tr>
<td id='title_g'>".$myrow4['title']."</td>
</tr>
</table></td>");
$z = 0;
$istr = false;
}
$z++;
}}


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

  Ответить  
 
 автор: sim5   (22.02.2011 в 11:41)   письмо автору
 
   для: student_ru   (22.02.2011 в 11:33)
 

Вот где она у вас пропала:
$myrow4 = mysql_fetch_array($result3);
Выполнив это до цикла, вы передвинули внутренний указатель ресурса на следующую строку записи, а значит цикл начнет выкладывать в таблицу со второй строки, изображения.

PS. Можно безболезненно выбросить все elseif($z==N)... они не к чему, а делить ваш счетчик ($z) по модулю 5, проверяя это, и если значение равно 0 ($Z кратно 5), выполнять необходимое действие:
<?
if(!($z 5)) {
  
//действия
}

  Ответить  
 
 автор: cheops   (22.02.2011 в 11:42)   письмо автору
 
   для: student_ru   (22.02.2011 в 11:33)
 

$result3 = mysql_query (...);
$myrow4 = mysql_fetch_array($result3);

А вызов mysql_fetch_array() тут не лишний? Вы же его затираете последующим вызовом mysql_fetch_array() в цикле while(). По сути у вас одна первая строка в результирующем запросе должна пропадать.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования