Перейти к контенту

Ошибка в PHP/MySQL


Рекомендуемые сообщения

Пытаюсь разбить имеющиеся в базе данных анекдоты по страницам, чтобы показывались по 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, то все в порядке, но он тогда извлекает все записи из базы, чего я не хочу.

Ссылка на комментарий
Поделиться на других сайтах

Используйте LIMIT.

 

Очень советую.

 

Если ппц приспичило именно так - тогда замечу, что

{$_GET['page']+10}

- не бывает.

 

Тебе ведь и пишут - неожиданный плюсик, ожидалась закрывающая фигурная скобка.

Ссылка на комментарий
Поделиться на других сайтах

Попробовал вот так:

$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

Ссылка на комментарий
Поделиться на других сайтах

Сам разобрался! Я не ввел проверку, а запустили ли страницу с этим параметром или запустили вообще без параметров. Я запускал страницу без параметра, $_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-е чувство, которое называется опытом... :D

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.