Всем добрый вечер. Копался и разбирался в скрипте (вывод постраничн данных из бд. PHP: <?php $nums = 2; if(isset($_REQUEST['search'])) { $page = intval($_GET[$_REQUEST['search']]); } else { $page = 1; } include('db.php'); $db = new db(); $word = mysql_real_escape_string($_REQUEST['search']); $sql = "SELECT (SELECT COUNT(*) AS `total` FROM `museums` WHERE `title` LIKE '%{$word}%') AS `total`"; $row = $db->select_list($sql); $row = each($row); $total = $row['value']['total']; $pages = ceil($elements/$nums); if ($page < 1) { $page = 1; } elseif ($page > $pages) { $page = $pages; } $start = ($page-1)*$nums; if ($start < 0) $start = 0; $sql = "SELECT * FROM `museums` WHERE `title` LIKE '%" . $word . "%' ORDER BY `title` LIMIT {$start}, {$perPage}"; $row = $db->select_list($sql); if(count($row)) { $end_result = ''; foreach($row as $r) { $end_result .= '<section class="museum"><div class="divider"></div><div class="clearfix"></div>'; $end_result .= '<div class="' . $r['flag'] . '"></div>'; $end_result .= '<a href="' . $r['link'] . '"><h2 class="museum_title">' . $r['title'] . '</h2></a>'; $end_result .= '<div class="clearfix"></div><div class="museum_info">' . $r['adress'] . '</span></div>'; $end_result .= '<a href="' . $r['img'] . '" class="pirobox_gall" title="' . $r['title'] . '"><img src="' . $r['img'] . '" alt="' . $r['title'] . '" width="506" height="250"/></a><br /><br />'; $end_result .= '<p align=justify>' . htmlspecialchars(stripslashes($r['decription'])) . '</p><p>' . $r['id'] . '</p><br />'; $end_result .= '<a href="' . $r['link'] . '" class="button"></a></section>'; } $neighbours = 6; $left_neighbour = $page - $neighbours; if ($left_neighbour < 1) $left_neighbour = 1; $right_neighbour = $page + $neighbours; if ($right_neighbour > $pages) $right_neighbour = $pages; if ($page > 1) { $end_result .= ' <a href="?page=1">начало</a> ... <a href="?page=' . ($page-1) . '">←сюда</a> '; } for ($i=$left_neighbour; $i<=$right_neighbour; $i++) { if ($i != $page) { $end_result .= ' <a href="?page=' . $i . '">' . $i . '</a> '; } else { $end_result .= '<b>' . $i . '</b> '; } } if ($page < $pages) { $end_result .= ' <a href="?page=' . ($page+1) . '">туда→</a> ... <a href="?page=' . $pages . '">конец</a> '; } echo $end_result; } else { echo '<h2 class="museum_title">По вашему запросу ничего не найдено</h2>'; } ?> Мне тут уже помогали с похожей темкой, но я попытался сделать по другому, но результатов ноль (ничего не находит) Пожалуйста укажите мне на ошибки
Да и подскажите плиз как ету наву можно по центру выровнять а тол зае****я (извините). Зарание спс.=)
А что ты имеешь в виду, говоря "ничего не находит"? Хоть что-нибудь на страничке появляется? Код (Text): if(isset($_REQUEST['search'])) { $page = intval($_GET[$_REQUEST['search']]); Это чё?!? Может так? Код (Text): $page = isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 1; Если переделал на одну таблицу, то в первом запросе (там, где считается количество записей) - уже не нужен вложенный запрос, достаточно так: Код (Text): $sql = "SELECT COUNT(*) AS `total` FROM `museums` WHERE `title` LIKE '%{$word}%'"; Код (Text): $pages = ceil($elements/$nums); Откуда взялось $elements? Может быть всё же $total?
Спасибо большое но така как мы изменили $page = isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 1; как тогда быть сч параметром {else $page = 1;} кот ниже пишет что он unexpected
Голову включи и посмотри внимательно. Тогда увидешь, что никакой else $page = 1; уже не нужен, его можно удалить просто. Он уже учтён в первой строке: $page = isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 1;