Ринальдус Опубликовано 28 Октября 2006 Жалоба Поделиться Опубликовано 28 Октября 2006 Пытаюсь разбить имеющиеся в базе данных анекдоты по страницам, чтобы показывались по 10 штук на каждой. Т.е при параметре anecdots.php?page=10 пользователь увидит анекдоты с 10 по 20, при anecdots.php?page=20 - с 20 по 30 и т.д. Но у меня не получается выбрать десятку анекдотов по их ID из базы данных. Когда я формирую запрос$sql = mysql_query (" SELECT * FROM anecdots WHERE id >= {$_GET['page']} AND id < {$_GET['page']+10} ORDER BY id ");у меня вылезает ошибкаParse error: parse error, unexpected '+', expecting '}' in c:\www\anecdots.php on line 29В чем дело, я не пойму, т.к изучаю PHP и MySQL всего 2 недели. Если я формирую запрос без WHERE ... AND, то все в порядке, но он тогда извлекает все записи из базы, чего я не хочу. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 28 Октября 2006 Жалоба Поделиться Опубликовано 28 Октября 2006 Используйте LIMIT. Очень советую. Если ппц приспичило именно так - тогда замечу, что {$_GET['page']+10} - не бывает. Тебе ведь и пишут - неожиданный плюсик, ожидалась закрывающая фигурная скобка. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ринальдус Опубликовано 28 Октября 2006 Автор Жалоба Поделиться Опубликовано 28 Октября 2006 Попробовал вот так:$sql = mysql_query (" SELECT * FROM anecdots WHERE id >= {$_GET['page']} ORDER BY id LIMIT 10 ");Теперь выводит вот что:Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\www\anecdots.php on line 32 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ринальдус Опубликовано 31 Октября 2006 Автор Жалоба Поделиться Опубликовано 31 Октября 2006 Сам разобрался! Я не ввел проверку, а запустили ли страницу с этим параметром или запустили вообще без параметров. Я запускал страницу без параметра, $_GET['page] значит был равен NULL и, соответственно, SQL запрос выводил сообщение об ошибке. А теперь все в порядке. if (!is_numeric ($_GET['page']) || !isset ($_GET['page'])) { $_GET['page']=0; } $get = $_GET ['page']; $sql = mysql_query (" SELECT * FROM anecdots ORDER BY id LIMIT {$get},10 ");Глупая ошибка. Интересно, сколько мне еще придется их совершить, чтобы заработало какое-то 6-е чувство, которое называется опытом... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.