Задавайте вопросы, мы ответим
Вы не зашли.
Доброго времени суток!
У меня возник такой вопрос по поводу создания запроса:
имеется таблица products, нужно сделать запрос так, чтобы в каждой строке было по 5 объектов.
К примеру запрос по ид: в первой строке с 1го по 5й ид отображается товар, на второй строке с 6 по 10й и так далее.
На данный момент смог только сделать то, что задумал через ЛИМИТ
("SELECT * FROM products ORDER BY id LIMIT 0,5").
но приходится для каждой строки прописывать свой запрос(((
возможно ли сделать так, чтобы не прописывать каждый раз запросы для каждой строки?
Заранее благодарен за помощь)
Неактивен
Это задача для клиентского приложения, а не для базы данных.
Неактивен
вставлять в запрос переменные $start и $length, где $length=5, а $start=$length*$i, а $i в цикле
Неактивен
Не делайте запрос в цикле, это бред!
1) Выбираем все нужные товары одним запросом (LIMIT 0, 100 например) и загоняем из в массив.
2)
$i = 1;
$total = count($products);
echo '<div class="row">';
foreach ($products as $product)
{
echo '<div class="col">';
... выводим нужные данные
echo '</div>';
if ($i % 5 == 0 and $i < $total) echo '</div><div class="row">'; // комментарий ниже*
$i++;
}
echo '</div>';
* если остаток при делении - 0 И это не последний товар - закрываем строку и начинаем новую. Если не ставить проверку на последний товар, то в случае если товаров будет 5, 10, и т.д, то будет появится пустая строка.
Стили следующие:
.row {
clear: both;
overflow: hidden;
}
.col {
float: left;
}
Можно использовать UL LI либо TABLE TR TD.
Неактивен