|
|
|
| Здравствуйте! Скажите пожалуйста как можно сделать постраничный вывод, если изначально в запросе есть условие WHERE. Просто я просмотрел очень много тем по поводу постраничного вывода, и не нашел примера где бы использовался WHERE. То есть на всех примерах которые есть для подсчета общего количества записей в таблице применяется запрос типа Select from table, и сразу понятно сколько там записей. А если в конце еще и WHERE? Как тогда быть?
Вот код к которому я хочу сделать постраничный вывод.
if($_GET['id_catalog'])
{
echo "<hr class=\"r\">";
$sql3="SELECT *FROM product WHERE id_catalog=".$_GET['id_catalog']."";
$s3=mysql_query($sql3);
echo "<table border=\"1\" width=\"100%\"align=\"center\">";
echo "<tr>";
$td=0;
while($i=mysql_fetch_array($s3))
{
$image = "select * from image where id=".$i['id_product']."";
$r = mysql_query($image);
$num_r = mysql_num_rows($r);
$kol+=$num_r;
if(mysql_num_rows($r) > 0)
{
while($par=mysql_fetch_array($r))
{
$photo=$par['photo'];
echo "<td width=\"50%\"><table border=\"1\" width=\"100%\" bordercolordark=\"white\" bordercolorlight=\"black\"><tr align=\"left\"><td width=\"150\"><a href=\"modules.php?name=Gallery&file=download&photo=$par[photo]&id_product=$i[id_product]\" target=\"_blank\"><img src=\"modules/Photo/images/$par[photo]\" width=\"150\" height=\"150\" border=\"0\" alt=\"Нажмите для просмотра\"></a></td><td><span class=gal>Район:</span>".$i['district']."<br><span class=gal>Улица:</span>".$i['address']."<br><span class=gal>Описание:</span>".$i['note']."<br><span class=gal>Цена, ($):</span>".$i['price']."<br><b><a href=\"modules.php?name=Poisk&file=detail&id_product=$i[id_product]\" target=\"_blank\">ПОДРОБНАЯ ИНФОРМАЦИЯ</a></b></td>"
."</tr></table></td>";
$td++;
if ($td==2)
{
echo "</tr>";
$td=0;
}
}
}
}
echo "</table>";
}
|
Заранее благодарен. | |
|
|
|
|
|
|
|
для: Mefisto84
(24.05.2006 в 20:59)
| | А в чём сложность - при постраничном выводе работает только конструкция LIMIT - WHERE-условие не затрагивается (можно его писать, можно не писать - на код постраничной навигации это не повлияет). | |
|
|
|
|
|
|
|
для: cheops
(24.05.2006 в 22:03)
| | Ну как же? А как мне тогда узнать сколько всего записей получается? Ведь запрос то с условием where и каждый раз разный, он же в цикле. И к примеру я хочу что бы выводилось по 0 фотографий на страницу, а у меня для одного id_product к примеру 5 фоток, а для второго 7, как сделать так что бы оставшиеся 2 уходили на творую страницу? И как их посчитать что их 12 к примеру? | |
|
|
|
|
|
|
|
для: Mefisto84
(25.05.2006 в 10:49)
| | А у вас два цикла.... Тогда вот что не понятно - что делает скипт? Т.е. что выводит первый цикл и что второй? И для какого из них нужна постраничная навигация? | |
|
|
|
|
|
|
|
для: cheops
(25.05.2006 в 12:29)
| | Первый цикл выбирает фотографии относящиеся к какому-то определенному id_product. А второй строит таблицу в которую помещаются фотографии и небольшое описание. Таблица: в строке помещается две фотографии, затем образуется следующая строка и т.д. Мне нужна постраничная навигация вообще ко всему скрипту. То есть например надо что бы на страницу выводилось по 15 фотографии, ну или для красоты(что бы строки были полными) по 16 фотографий. Вот как это сделать? | |
|
|
|
|
|
|
|
для: Mefisto84
(25.05.2006 в 14:10)
| | Тогда всё нормально, у вас будет просто постраничная навигация по внешнему циклу. Т.е. подчёт общего числа позиций будет осуществляться по циклу
<?php
$sql3="SELECT COUNT(*) FROM product WHERE id_catalog=".$_GET['id_catalog']."";
?>
|
а вывод текущей позиции при помощи цикла
<?php
$sql3="SELECT COUNT(*)
FROM product
WHERE id_catalog=".$_GET['id_catalog']."
LIMIT $begin, $start";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(25.05.2006 в 22:28)
| | так не получается, потому что у одного id_product может быть несколько фотографий. То есть при запросе из таблицы продукт общее количество может быть равно 4, а дальше при запросе к таблице image уже 7 записей. | |
|
|
|
|
|
|
|
для: Mefisto84
(26.05.2006 в 16:32)
| | Ну что никаких мыслей что ли нет? Не может быть, не верю :-) Как же все таки сделать мне постраничный вывод для галереи? | |
|
|
|