PDA

Просмотр полной версии : Показ новостей в обратном порядке. php.


Ru}{eeZ
06.12.2008, 20:40
Маюсь...

Допустим
$maxNews = 5;
count($id) = 100;
$_GET['page'] = 2;

новости от 1 и выше

for($i = $maxNews * $_GET['page'] - $maxNews; $i < $maxNews * $_GET['page']; $i++) {


новости от большего к меньшему (недополучается). Тут получается, что новости идут от 100, на первой странице 4 результата, на остальных нормально - 5, а новость под номером 1 вообще не отображается на последней странице (т.е. последняя под номером 2)

for($i = count($id) - $maxNews * $_GET['page'] + $maxNews; $i > count($id) - $maxNews * $_GET['page']; $i--) {

Vid0k
06.12.2008, 20:44
а не легче мускулом отсортировать?!
SELECT * FROM news sort by id desc
вроде так поправьте если ошибся

Ru}{eeZ
06.12.2008, 20:45
а не легче мускулом отсортировать?!
SELECT * FROM news sort by id desc
вроде так поправьте если ошибся

без мускулов
*без комментариев*

Pashkela
06.12.2008, 21:27
А не поленюсь и повторю еще раз - в цикле считать (count) нельзя, особенно когда много чего считать надо

Ru}{eeZ
06.12.2008, 21:39
А не поленюсь и повторю еще раз - в цикле считать (count) нельзя, особенно когда много чего считать надо

так понятнее, естественно, что если о производительности заботиться - я бы вынес, хотя в любом случае бы это сделать, но всётаки хотелось бы получить ответ по теме

Gifts
06.12.2008, 23:33
Ru}{eeZ Ключевой вопрос - как понумерован массив $id. Первый элемент имеет индекс 1 или 0? Просто в твоем варианте все в общем то верно, для проверки:

<pre><?
$maxNews = 5;
$id=array_fill(1,100,'Тестовый массив');

for($i = count($id) - $maxNews * $_GET['page'] + $maxNews; $i > count($id) - $maxNews * $_GET['page']; $i--)
{ echo $i."\r\n"; }

Будет выводить на первой странице номера 100-95, на последней 5-1. Если же массив с нуля, то просто добавить -1 в начальное значение и в условие

vikseriq
07.12.2008, 00:47
А они равняются на Павла Дурова - только он им гонит, что аякс умеет сортировать ))
Да, я бы мускуль взял. не хочешь Mysql- иди на Oracle, MSSQL, Access на худкон. Благо альтернатива есть )

Ru}{eeZ
07.12.2008, 00:53
Gifts, спасибо)
бред, бред... у меня база в .txt
При чём тут Павел Дуров? Ты бы ещё c Лебедовым привёл пример

t4Nk
07.12.2008, 03:16
Gifts, спасибо)
у меня база в .txt


уж лучше имхо, sqlite использовать чем файлы