|
|
|
| Всем доброго времени суток ув.форумчане..
такая проблема..есть таблица с картинками в 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++;
}}
но натыкаюсь на такую проблему что выводятца все картинки кроме первой..и не могу сообразить как это все дело сделать в цикле..надеюсь на вашу помощь....заранее спасибо.... | |
|
|
|
|
|
|
|
для: student_ru
(22.02.2011 в 11:33)
| | Вот где она у вас пропала:
$myrow4 = mysql_fetch_array($result3);
Выполнив это до цикла, вы передвинули внутренний указатель ресурса на следующую строку записи, а значит цикл начнет выкладывать в таблицу со второй строки, изображения.
PS. Можно безболезненно выбросить все elseif($z==N)... они не к чему, а делить ваш счетчик ($z) по модулю 5, проверяя это, и если значение равно 0 ($Z кратно 5), выполнять необходимое действие:
<?
if(!($z % 5)) {
//действия
}
|
| |
|
|
|
|
|
|
|
для: student_ru
(22.02.2011 в 11:33)
| |
$result3 = mysql_query (...);
$myrow4 = mysql_fetch_array($result3);
|
А вызов mysql_fetch_array() тут не лишний? Вы же его затираете последующим вызовом mysql_fetch_array() в цикле while(). По сути у вас одна первая строка в результирующем запросе должна пропадать. | |
|
|
|