Вывод фоток в таблице товаров

Alexos

Новичок
Вывод фоток в таблице товаров

Уважаемые коллеги!

Есть таблица товаров MySQL.
Разные по характеристикам товары могут иметь одну и ту же фотку. Поэтому было принято решение ввести в таблицу товаров поле ссылок на фотку. Короче, смысл в том, что админ сайта фотки загружает отдельно, а при заведении товара, указывает связь товра с фоткой.

При выводе списка товаров необходимо сделать такой вывод:

<table>

<tr>
<td>1.jpg</td>
<td>Товар1</td>
</tr>

<tr>
<td rowspan="2">2.jpg</td>
<td>Товар2</td>
</tr>
<tr>
<td>Товар3</td>
</tr>

<tr>
<td>3.jpg</td>
<td>Товар4</td>
</tr>

</table>

Т.е. чтобы не дублировать одни и те же фотки в таблице.
Как сгенерить такой html? За что цепляться? Намекните плз. А то уже ум за разум заходит.
 

Tor

Новичок
т.е. всегда товары с одинаковыми картинками будут идти подряд?
 

kvf77

Red Devil
Объединить товары при выборке из базы по названию файла картинки. При выводе писать имя картинки скажем в переменную $current сравнивать ее с переменной $old - если $current == $old - значит такую картинку уже выводили - пропускаем, если не совпадает - выводи, после вывода каждый раз делаем $old = $current и так по кругу
 

DiTHER

bang bang
html это разметка а не язык программирования. Нельзя там функции писать хоть ты тресни..

как вариант особый (в случае действительной надобности) - делай деревья яваскриптом.
 

Tor

Новичок
1) выбери нужные записи из базы
2) сформируй массив из них
3) пройдись по нему снизу вверх
4) если картинка у верхней ($i-1) такая же, как и у текущей ($i) записи, то в поле у верхней записи к счетчику объединения прибавляем то, что в этом счетчике у текущей записи
5) выводим все на страницу
 

DiTHER

bang bang
Автор оригинала: Alexos
kvf77
спасибо, попробую..
А как быть со значением rowspan в ячейке с картинкой? Как его считать?
DiTHER
:)
пардон не въехал сначала :)

пример:

PHP:
$arr['img1.jpg'][0] = 'Товар 1';
$arr['img1.jpg'][1] = 'Товар 2';
$arr['img1.jpg'][2] = 'Товар 3';
$arr['img2.jpg'][0] = 'совсем-другой-товар : )';

foreach($arr as $img => $offer)
{
        foreach($offer as $idx => $offername)
        {
                if($idx === 0)
                {
                        echo "<tr><td rowspan=\"".sizeof($offer)."\">$img</td><td>$offername</td></tr>";
                }
                else
                {
                        echo "<tr><td>$offername</td></tr>";
                }
        }
}
т.е. если привести к виду
$arr[$img][xx] = $item_info

то разобрать довольно легко и без путаницы.

p.p.s блин грузанул. ломаю голову как это сделать на xsl.
 
Сверху