Как вывести четное число записей из бд

209
23 января 2018, 12:59

Собственно в название сам вопрос. Есть бд, в таблице записи "последние новости". Мне нужно вывести парное число записей, т.е кратное двум, так как у меня слайдер переключает по 2 новости. КАк можно это сделать?

Answer 1

Одним запросом я не знаю как это сделать. Возможно, вам нужно получить сначала кол-во записей в таблице

select count(*) from table;

потом округлить до ближайшего четного

$count = ($count - ($count % 2));

и потом выбрать с лимитом

select * from table limit $count;
Answer 2

Если у вас производится только 1 запрос на странице, то лучше Одним запросом получить все записи и потом поделить их функцией array_chunk() http://php.net/manual/ru/function.array-chunk.php

если запросы производятся через ajax, то стоит воспользоваться SQL конструкцией LIMIT OFFSET

Answer 3

Можно и в один запрос:

select *
  from (
    select *, @cnt:=@cnt+1 num
      from table_c, (select @cnt:=0) x
  ) y
 where num<=@cnt-@cnt%2

Но лучше получить все и выбрасывать лишнюю запись уже на клиенте.

READ ALSO
rutube parse video

rutube parse video

Хотелось бы узнать, как парсить видео с Rutube чтобы получать превьюшку, название и описание видеоНашел только этот пример, но он не работает/устарел:...

221
В чем проблема поиска php-mysql, виснет сайт

В чем проблема поиска php-mysql, виснет сайт

Написал поиск для сайта, на языке php - бд mySql, сам являюсь фронтенд девелопером, всё работает, но зависает сильно, думаю проблема во множественных...

268
Шахматная доска на консоли php

Шахматная доска на консоли php

Дано следующее задание:

346
Оптимизация ajax

Оптимизация ajax

Пишу поиск для сайта, приходится парсить фото с страницы товара,

224