Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Показ новостей в обратном порядке. php. |

06.12.2008, 20:40
|
|
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
Провел на форуме: 956872
Репутация:
186
|
|
Показ новостей в обратном порядке. php.
Маюсь...
Допустим
$maxNews = 5;
count($id) = 100;
$_GET['page'] = 2;
новости от 1 и выше
PHP код:
for($i = $maxNews * $_GET['page'] - $maxNews; $i < $maxNews * $_GET['page']; $i++) {
новости от большего к меньшему (недополучается). Тут получается, что новости идут от 100, на первой странице 4 результата, на остальных нормально - 5, а новость под номером 1 вообще не отображается на последней странице (т.е. последняя под номером 2)
PHP код:
for($i = count($id) - $maxNews * $_GET['page'] + $maxNews; $i > count($id) - $maxNews * $_GET['page']; $i--) {
Последний раз редактировалось Ru}{eeZ; 06.12.2008 в 20:46..
|
|
|

06.12.2008, 20:44
|
|
Постоянный
Регистрация: 24.12.2007
Сообщений: 574
Провел на форуме: 3186852
Репутация:
316
|
|
а не легче мускулом отсортировать?!
SELECT * FROM news sort by id desc
вроде так поправьте если ошибся
|
|
|

06.12.2008, 20:45
|
|
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
Провел на форуме: 956872
Репутация:
186
|
|
Сообщение от Vid0k
а не легче мускулом отсортировать?!
SELECT * FROM news sort by id desc
вроде так поправьте если ошибся
без мускулов
*без комментариев*
|
|
|

06.12.2008, 21:27
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
А не поленюсь и повторю еще раз - в цикле считать (count) нельзя, особенно когда много чего считать надо
|
|
|

06.12.2008, 21:39
|
|
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
Провел на форуме: 956872
Репутация:
186
|
|
Сообщение от Pashkela
А не поленюсь и повторю еще раз - в цикле считать (count) нельзя, особенно когда много чего считать надо
так понятнее, естественно, что если о производительности заботиться - я бы вынес, хотя в любом случае бы это сделать, но всётаки хотелось бы получить ответ по теме
|
|
|

06.12.2008, 23:33
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Ru}{eeZ Ключевой вопрос - как понумерован массив $id. Первый элемент имеет индекс 1 или 0? Просто в твоем варианте все в общем то верно, для проверки:
PHP код:
<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 в начальное значение и в условие
|
|
|

07.12.2008, 00:47
|
|
Участник форума
Регистрация: 31.07.2008
Сообщений: 207
Провел на форуме: 299231
Репутация:
107
|
|
А они равняются на Павла Дурова - только он им гонит, что аякс умеет сортировать ))
Да, я бы мускуль взял. не хочешь Mysql- иди на Oracle, MSSQL, Access на худкон. Благо альтернатива есть )
|
|
|

07.12.2008, 00:53
|
|
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
Провел на форуме: 956872
Репутация:
186
|
|
Gifts, спасибо)
бред, бред... у меня база в .txt
При чём тут Павел Дуров? Ты бы ещё c Лебедовым привёл пример
|
|
|

07.12.2008, 03:16
|
|
Познающий
Регистрация: 23.09.2007
Сообщений: 75
Провел на форуме: 938032
Репутация:
86
|
|
Сообщение от Ru}{eeZ
Gifts, спасибо)
у меня база в .txt
уж лучше имхо, sqlite использовать чем файлы
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|