Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Разбивка на страницы с PHP. Sorry for Offtopic
|
|||
|---|---|---|---|
|
#18+
Коллеги, выручайте. Есть необходимость вывести выборку из базы на вэб страницу с помощью PHP. Запрос работает, но получется до нескольких тысяч строк. С помощью OFFSET и LIMIT могу вытащить "нужную" часть. Но как на РНР написать на страничке "страница 1 из 10" и поставить ссылку на следующую, не дотягиваю. Если кто делал такое сам, помогите плиз - очень надо! Пытался нарыть в РНР-шных форумах, ничего не нахожу. Может кто ссылку знает где это описано? Извиняюсь за оффтопик и Спасибо за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 00:02 |
|
||
|
Разбивка на страницы с PHP. Sorry for Offtopic
|
|||
|---|---|---|---|
|
#18+
ставишь переменную страница $page; если она не передана через $_GET['page'] то приравниваешь ее к 0 далее у тебя офсет будет равен "колличеству строк запроса" умноженному на $_GET['page'] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 01:53 |
|
||
|
Разбивка на страницы с PHP. Sorry for Offtopic
|
|||
|---|---|---|---|
|
#18+
darkioставишь переменную страница $page; если она не передана через $_GET['page'] то приравниваешь ее к 0 далее у тебя офсет будет равен "колличеству строк запроса" умноженному на $_GET['page'] А можно пример кода? Я только ещё учусь и могу что-то упустить по незнанию... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 02:14 |
|
||
|
Разбивка на страницы с PHP. Sorry for Offtopic
|
|||
|---|---|---|---|
|
#18+
Качаешь, например NEOgeN Labs GuestBook, там в gbook.php есть довольно ясный код, иллюстрирующий этот принцип. Правда, там синтаксис сиквела для MySQL (для LIMIT), но оно и так понятно :)) Впрочем, привожу кусок сабжевого кода оттуда: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 05:11 |
|
||
|
Разбивка на страницы с PHP. Sorry for Offtopic
|
|||
|---|---|---|---|
|
#18+
Более менее понятно. Но тут есть момент. База может пополняться каждую секунду, может даже чеще или реже. Но часто. Если я начинаю листать страницы, то индех высчитывается каждый раз по новой. И если я перехожу на следующую страницу, может получиться что следующая, по логике запись в новой странице не окажется. Как тут быть? есть возможность это зафиксировать? Выборка делается по типу SELECT * FROM table WHERE xxx DESC (чтобы всегда видеть последнюю запись). Можно конечно листать с первой записи, но если там 100 страниц? а сначала хочется видеть свеженькое... :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2005, 00:06 |
|
||
|
Разбивка на страницы с PHP. Sorry for Offtopic
|
|||
|---|---|---|---|
|
#18+
есть такой вариант: <? //номер страницы if (!isset($npage)) { $npage = 1; } //количество строк на одной странице $spage = 7; @$db = mysql_connect("host","name","pas"); mysql_select_db("base",$db); $query = "select * from $tabla"; $result = mysql_query($query); $total = mysql_num_rows ($result); for ( $i = $total - ($npage -1)*$spage - 1 ; ($i > $total - $npage*$spage -1) and ($i >= 0) ; $i --) { mysql_data_seek ( $result , $i ); $array_exp = mysql_fetch_array($result); // вывод полей... } // таблица нумерации страниц echo '<tr> <td align=center> Страницы:'; $kpage = ceil($total/$spage); for ($k = 1 ; $k <= $kpage ; $k++) { echo '<a href="start.php3?npage='.$k.'">'.$k.'</a>'; } //вроде все работает шоколадно (хотя я 3-тий день с пхп) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2006, 22:50 |
|
||
|
Разбивка на страницы с PHP. Sorry for Offtopic
|
|||
|---|---|---|---|
|
#18+
Uncle_Joe Код: plaintext 1. 2. 3. 4. Как то странно вы количество записей считаете! Не лучше ли просто SELECT count(*) AS count FROM Table; ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 15:40 |
|
||
|
Разбивка на страницы с PHP. Sorry for Offtopic
|
|||
|---|---|---|---|
|
#18+
Вот гляньте сюда Постраничный вывод PHP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 11:56 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=266&tid=2004222]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 351ms |

| 0 / 0 |
