Подскажите пожалуйста как сделать вывод данных из бд на несколько страниц, например по 10 строк на страницу.
30 - это не по какую, а сколько начиная с 0! Большая разница! limit 10000,10001 выведет не 1 а 10001 записей начиная с 10000.
Можно на яндекс послать Раньше не официальном сайте было по-русски написано, а сейчас нет. Может быть в офф-лайн версии осталось на русском. Вот из старых запасов
и еще помогите плз объясните смысл данной строки PHP: if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0;
Если установлена (существует) переменная $_GET['page'], то $page = $_GET['page'] - 1, иначе (если нет такой переменной) $page = 0; Если не делать проверку на существование переменной, то при вычитании 1 мы рискуем получить соответсвующий Notice. Полагаю что вычитание сделано для простоты вычисления и правильности отображения, то есть если page = 2, то мы можем сделать запрос с LIMIT ($limit*$page), $limit где при $limit = 30 получим LIMIT 30, 30
Решил сделать постраничный вывод данных из бд (ап), изменил код выскакивает ошибка на данном куске кода PHP: $per_page=10; if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0; $start=abs($page*$per_page); $sql="SELECT * FROM `table` ORDER BY field LIMIT $i,$per_page"; $result=mysql_query($sql); $row=mysql_fetch_row($result); ошибка: Вот и пытаюсь разобраться
исправил, но все равно не пашет PHP: $per_page=10; if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0; $i=abs($page*$per_page); $sql="SELECT * FROM `table` ORDER BY field LIMIT $i,$per_page"; $result=mysql_query($sql); $row=mysql_fetch_row($result);
Код (Text): SELECT * FROM db_gb ORDER BY field LIMIT 0,10 Запрос выглядит правильно. Тут два пути: или вставить этот запрос, например, в phpMyAdmin и посмотреть что он выводит, или посмотреть выдает ли ошибку mysql_query - $result=mysql_query($sql) or die(mysql_error()); А лучше сделать и то и другое
Проверил все ок. Выводит 10 записей. А если переменная $row содержит значение Array это не нормально вроде? да? Из-за чего такое может быть?