Здравствуйте уважаемые. На форуме не раз рассматривалась тема постраничного вывода, но я все таки задам свой вопрос... почти во всех постах на эту тему запросы в базу были простые типа - SELECT * FROM catalog ...
Если я делаю простой запрос, то у меня все работает, а если запрос с условием, то нихрена не работает - выводит например первые 10 записей и показывает все страницы, но если нажимаю напимер на 5-ую страницу, то ничего нет - пусто. Подскажите почему.
Вот такой скрипт:
$lines_per_page = 5; //кол-во записей на страницу
include "dblib.php";
//ñíà÷àëà óçíàåì êîëè÷åñòâî ÂÑÅÕ çàïèñåé
$type_sdelki = "Аренда";
$show = "yes";
$ref = "";
if ($country == type_c)
{
if ($type_home == type_h)
{
$sql = "SELECT * FROM catalog WHERE type_sdelki = \\"$type_sdelki\\" AND hide_show = \\"$show\\"
";
}
else
{
$sql = "SELECT * FROM catalog WHERE type_sdelki = \\"$type_sdelki\\" AND hide_show = \\"$show\\" AND type_home = \\"$type_home\\"
";
}
}
else
{
if ($type_home == type_h)
{
$sql = "SELECT * FROM catalog WHERE type_sdelki = \\"$type_sdelki\\" AND hide_show = \\"$show\\" AND country = \\"$country\\"
";
}
else
{
$sql = "SELECT * FROM catalog WHERE type_sdelki = \\"$type_sdelki\\" AND hide_show = \\"$show\\" AND type_home = \\"$type_home\\" AND country = \\"$country\\"
";
}
}
$result = mysql_query($sql);
$all_lines = mysql_num_rows($result);
if (!isset($page) or empty($page) or $page<=0) $page=1;
else $page=(int)$page;
$page_for_query = $page-1;
$lpos = $page_for_query * $lines_per_page;
$sql_go = $sql . "ORDER BY add_date DESC LIMIT $lpos, $lines_per_page";
$result = @mysql_query($sql_go) or die("$sql_go
failed1!".mysql_error());
while ($row = mysql_fetch_array($result)) {
$id = $row[\'id\'];
$ref = $row[\'ref\'];
$country= $row[\'country\'];
$type_sdelki = $row[\'type_sdelki\'];
$type_home = $row[\'type_home\'];
$title = $row[\'title\'];
$city = $row[\'city\'];
$desc_small = $row[\'desc_small\'];
$price = $row[\'price\'];
$type_home = $row[\'type_home\'];
$img1 = $row[\'img1\'];
$display_block .= "
|
$country | $city | $type_home
Цена: $price
$desc_small
|
|
|
|
";
}
echo $display_block;
$count_pages = ceil($all_lines / $lines_per_page);
if ($count_pages>1) {
for ($i=1; $i<=$count_pages; $i++) {
if($page==$i and $i!=1) {echo " | $i";}
elseif ($page==$i and $i==1) {echo "1";}
elseif($i==1 and $page!=$i) {echo "
$i";}
elseif($i!=1 and $page!=$i) {echo " |
$i";}
}
}
?>
Извините за длинный код.
В чем тут ошибка? Почему когда я нажимаю на 2-ую страницу - открывается пустой лист? Иеще вопросик... как сюда прикрутить кнопки НАЗАД и ВПЕРЕД?
Заранее спасибо.