@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, значение которого будет зависеть от номера страницы
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы