![]() |
Вывод новостей.SQL!Постраничный вывод на экран с базы данных MySQL
Вот взялась делать поэкранный вывод новостей с базы MySQL даже не знаю с чего начать.....видимо может чего почитать надо а может кто совет дельный даст про SQL и вывод на экран..
Просто я пишу извраты на php я и сейчас могу его написать :) но думаю может чего по проще посоветуюете?:) |
KittenCom
а в чем разница полноэкранного и неполноэкранного:confused: |
НАверное я не корректно вопрос задала. Короче в базе 20 новостей...а я хочу с последним айди выводить по 5 как запрос написать что бы оно знало с какого по какой, откидывая все остальное??
|
выводишь в цикле, выбираешь сортированными ORDER BY поле ASC (это от a до z) или DESC (это в обратном порядке)
|
ORDER BY айди DESC LIMIT 0, 5
|
$start вычисляешь исходя из страницы которую надо вывести
PHP код:
|
А вот еще интересный вопрос: как определить количество страниц, если заранее не известно количество выводимых новостей (например в результате поиска).
Самое простое, это сделать сначала запрос с аналогичным условием, но с COUNT() и, естественно, без LIMIT. Но это же громоздко. Может, кто подскажет более красивое решение. |
|
Goryn А может надо сделать просто поле id ?порядковый номер?:)автоинкремент?По-моему самый лучший вариант.
|
А если запись удалили? Автоинкримент не пересчитается
|
ну тогда может insert надо сделать?в боле id?
|
Чего?
|
medved2002
написать скрипт для того что бы в поле 'ID' была вставленна нумерация INSERT INTO tbl_name (ID) VALUES($c); $c=1+$c; по-моему так и запусти выполнение этого запроса в цикле... |
Это будет глупо. Потому что
1 - тебе придется перелопачивать всю таблицу каждый раз когда кто либо удалит запись. 2 - В СУБД нет такого понятия 1, вторая ... последняя запись в таблице |
зачем каждый раз тебе придется перелопачивать всю таблицу каждый раз когда кто либо удалит запись?
один раз выполнится этот скриптик....а потом при добавлении записи...будит и инеремент срабатывать. я не аз в php & MySQL пишу в основном извраты. так что возможно и ошибаюсь |
Обьясняю на пальцах
У тебя таблица: 1 Вася 2 Петя 3 Сергей 4 Коля Удаляем Петю, получаем 1 Вася 3 Сергей 4 Коля Порядок нарушен? Нарушен для того что бы его востановить потребуется перелопатить всю таблицу |
точно, не подумала.ну можно тогда сделать что бы каждый раз при удалении..... происходил Update ячеек id
|
Я уже написал что перелопачивать при удалении записе всю таблицу глупо, ладно у тебя там 3 записи, а если три миллиона?
|
IMHO, SELECT SQL_CALC_FOUND_ROWS - самый правильный и самый БЫСТРЫЙ способ, вот только проблема что он поддерживается в MySQL начиная с версии 4.0...
|
| Часовой пояс GMT +4, время: 07:02. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.