@Norbyt

Вывести данные из таблицы без повторов?

Есть таблица с новостями (12 штук к примеру). Нужно чтоб они подгружались по 6 штук.
$result = $link->query("SELECT * FROM News ORDER by ID DESC LIMIT 6");

В таком варианте запрос возвращает всегда последние 6 записей.
  • Вопрос задан
  • 179 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Используйте OFFSET
SELECT * FROM News ORDER by ID DESC LIMIT 6 OFFSET 6;
-- сокращенная запись
SELECT * FROM News ORDER by ID DESC LIMIT 6, 6;

На практике получается как-то так
$limit = 10;
$page = 3;
$offset = $limit * ($page-1);
$sql = "SELECT * FROM News ORDER by ID DESC LIMIT $offset, $limit"; // внимание, при использовании запятой сперва оффсет, потом лимит!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
limit 6,6
limit 12,6
limit 18,6
limit 24,6
Ответ написан
Комментировать
zhulikovatyi
@zhulikovatyi
Если нужен сдвиг, то используйте OFFSET, значение которого будет зависеть от номера страницы
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы