[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Добрый день народ
alexscorp
Если есть умные люди подскажите как раскинуть новости по страницам например как на www.wara.ru, или qiq.ru
заранее благодарин



Спустя 7 минут, 22 секунды (24.03.2009 - 15:42) REANIMATOR написал(а):
нужно тянуть из БД каждый раз по определённому количеству строк...
скажем 1ст - 1-30, 2ст-30-60 ит.д. выполняется ето с помощью LIMIT в запросе к БД

например

1ст - SELECT * FROM news LIMIT 0,30
2с - SELECT * FROM news LIMIT 30,60
.
.
.

Спустя 3 минуты, 37 секунд (24.03.2009 - 15:45) alexscorp написал(а):
А ссылки на страницы как сгенерировать

Спустя 6 минут, 5 секунд (24.03.2009 - 15:51) REANIMATOR написал(а):
Цитата (alexscorp @ 24.03.2009 - 12:45)
А ссылки на страницы как сгенерировать


проверяешь сколько всего полей в БД, делишь на 30, округляешь и генерируешь с помощью цикла от 1 до сколько вышло после деления... В ссылках также добавляешь querystring при каждом цикле будет расти страница...

например :

http://ssilka.ru/index.php?page=1
http://ssilka.ru/index.php?page=2
http://ssilka.ru/index.php?page=3
http://ssilka.ru/index.php?page=4


Спустя 13 минут, 39 секунд (24.03.2009 - 16:05) alexscorp написал(а):
спасибо большое
а примерный код можно ?

Спустя 14 секунд (24.03.2009 - 16:05) FatCat написал(а):
Могу подсказать, как в этом форуме генерируются ссылки на страницу длинного топика: в строке запроса передается параметр &st=0. Если страница не первая, вместо нуля будет другая цифра.
По умолчанию 15 сообщений на страницу, значит, для второй страницы линк будет содержать &st=15.

Для генерации страницы по запросу будет использоваться:
PHP
$query "SELECT ... limit ".intval($_GET['st']).",15";


Для подсчета числа страниц в топике сначала считается число сообщений:
PHP
$query "SELECT COUNT(pid) as posts FROM ibf_posts WHERE topic_id='".intval($_GET['t'])."'";

Затем полученное число сообщений топика делится на число сообщений на одной странице, и генерятся линки с нужными &t=xxx (номер топика) и &st=zzz (с какого по счету сообщения начинать страницу).

Спустя 2 минуты, 36 секунд (24.03.2009 - 16:08) FatCat написал(а):
На самом деле несколько сложней в этом движке, я специально упростил для облегчения понимания механизма.

Ну и о безопасности конечно же не забываем: цельночисленные входящие переменные через intval(), чтобы исключить возможность sql-инъекции.

Спустя 1 час, 14 минут, 32 секунды (24.03.2009 - 17:22) Kuliev написал(а):
Цитата (alexscorp @ 24.03.2009 - 12:45)
А ссылки на страницы как сгенерировать

Спустя 1 день, 15 часов, 1 минута, 9 секунд (26.03.2009 - 08:24) alexscorp написал(а):
Спасибо народ респект и уважуха

Спустя 9 минут, 22 секунды (26.03.2009 - 08:33) apc написал(а):
Цитата (FatCat @ 24.03.2009 - 13:08)
На самом деле несколько сложней в этом движке, я специально упростил для облегчения понимания механизма.

Ну и о безопасности конечно же не забываем: цельночисленные входящие переменные через intval(), чтобы исключить возможность sql-инъекции.

Не могли бы вы привести пример инъекции при переходе на станицу.

Спустя 2 часа, 7 минут, 50 секунд (26.03.2009 - 10:41) programmer_hard написал(а):
Цитата (apc @ 26.03.2009 - 10:33)
Не могли бы вы привести пример инъекции при переходе на станицу.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.