shanhaichik
Новичок
Добрый день.
Ситуация следующая. Есть база данных с товарами (SQL). Я на данный момент работаю над поиском по параметрам и выводом результатов поиска постранично. С самим поиском проблем нет, все работает как надо, но с потсраничным выводом есть трудности. Когда делаешь запрос он выводит первые 25 позиций, высчитывает количество страниц и то же выводит, но когда нажимаешь на переход на следующую страницу, все сбрасывается. Понимаю что вопрос,скорей всего глупый, так как я только недавно всем этим начал заниматься, но буду рад любым советам или наводкам где посмотреть.
Заранее спасибо.
Вот пример кода.
Ситуация следующая. Есть база данных с товарами (SQL). Я на данный момент работаю над поиском по параметрам и выводом результатов поиска постранично. С самим поиском проблем нет, все работает как надо, но с потсраничным выводом есть трудности. Когда делаешь запрос он выводит первые 25 позиций, высчитывает количество страниц и то же выводит, но когда нажимаешь на переход на следующую страницу, все сбрасывается. Понимаю что вопрос,скорей всего глупый, так как я только недавно всем этим начал заниматься, но буду рад любым советам или наводкам где посмотреть.
Заранее спасибо.
Вот пример кода.
PHP:
$db = new db();
if (isset($_POST['name'])) {
$name = mysql_real_escape_string($_POST['name']);
$width = mysql_real_escape_string($_POST['width']);
$height = mysql_real_escape_string($_POST['height']);
$depth = mysql_real_escape_string($_POST['depth']);
$group = mysql_real_escape_string($_POST['group']);
$price_start = mysql_real_escape_string($_POST['price_start']);
$price_end = mysql_real_escape_string($_POST['price_end']);
//строим поисковый запрос
$result ="SELECT * FROM katalog WHERE nazvanie LIKE '%" . $name . "%' AND width LIKE '%" . $width . "%' AND height LIKE '%" . $height . "%' AND depth LIKE '%" . $depth . "%' AND id_group LIKE '%" . $group . "%' AND ".$price_start ." <= price AND price <= ".$price_end ." " ;
$row = $db->select_list($result);
$elements = 25;
$num = 1;
if (is_numeric($_GET['str'])) $num = $_GET['str'];
$cols = count($row);
$cols = $cols/$elements;
$col = ceil($cols);
$pageoff = $elements*$num;
$pageon = $pageoff-$elements;
$prov = count($row);
if ($pageoff>$prov) $pageoff = $pageoff-($pageoff-$prov);
//Выводим номера страничек
for ($pagen=1; $pagen<=$col; $pagen++)
if ($pagen==$num) @$str .= $pagen;
else @$str .= "<a href=?$pagen>$pagen</a> ";
echo $str."<br>";
for ($x=$pageon; $row[$x]==true, $x<$pageoff; $x++){
echo '
<div class="res">
<a href="/catalogue/'.$row[$x]["id_group"].'/'.$row[$x]["id_komplekt"].'/'.$row[$x]["id_tovar"].'/" target="_blank"><img src="/'.$row[$x]["pic"].'" style="height:80px;"></a>
<p><b>'.$row[$x]["nazvanie"].'</b></p>
<p><b>Цена:</b> '.$row[$x]["price"].' руб.</p>
</div>';
}
}