| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > Постраничная разбивка табицы из базы |
| Автор: studentigor 30.12.2009, 14:33 | ||
Доброго времени суток!!!
Хочу сделатьследующее: Есть таблица в базе, у меня в ней 21 запись. Я хочу сделать чтобы на первой странице были записи от1 - 15, и соответственно на второй с 16-21. Данный код должен это делать. $this->start - это переменная отвечает за начальную точку (для 1й страницы = 1, для 2й = 16, ...) $this->end - Это конечная точка(для 1й странице = 15, и для 2й ,в моем случае, = 21) И у меня не выдает ничего, ни таблицы, ни ошибок. Посмотрите пожалуйста. мож кто знает в чем моя ошибка. если нужно еще что нить знать - пишите, я раскаже. |
| Автор: patap 30.12.2009, 14:50 | ||
добавьте это в начало скрипта
и вообще, Вам известна разница между циклами do...while и while? и думаю стоит сначала убедиться что result действительно вернул то, что нужно для постраничного разбиения разумнее использовать "LIMIT n, m" в SQL запросе, передавая в него n и m |
| Автор: studentigor 30.12.2009, 15:04 |
| Разницу знаю. Дело в том что когда скрипт без цикла фор - выводит все 21 запись. добавил то что Вы мне посоветовали выдало просто число "6135" |
| Автор: Ипатьев 30.12.2009, 15:11 |
| studentigor, неужели вы не понимаете, что ваш скрипт, по идее, должен 15 раз вывести 21 сообщение из базы данных? |
| Автор: studentigor 30.12.2009, 15:27 |
| Так да. Спасибо а если поменять for и while местами тогда по идее должно выполнять то что мне нужно? Добавлено через 5 минут и 10 секунд И вот что самое главное, оставлью только один цикл while, и все работает, все выводит. |
| Автор: Ипатьев 30.12.2009, 15:48 |
от перемены мест слагаемых сумма не меняется - учили нас в третьем классе! начальной школы. множителей это тоже касается что ж за программисты-то пошли такие, уже и арифметику не знают какая разница, 15 раз выполнить по 21 разу, или 21 раз вполнить 15 действий? зачем вообще заключать один циал в другой, умножая итерации? если карусель делает 10 оборотов, а надо прокатиться только 5, то по вашей логике надо купить ПЯТЬ билетов и откатать 5 раз по 10 кругов! вот логика ваших циклов |
| Автор: studentigor 30.12.2009, 15:51 |
| все понял!!! |
| Автор: bars80080 30.12.2009, 15:53 |
| у тебя должен быть один цикл for здесь же куча тем про постраничную навигацию. поищи по разделу |
| Автор: Ипатьев 30.12.2009, 16:12 |
рановато для такого заявления. в простейшем варианте можно сделать только циклом. for или while даже лучше будет, чтобы понятиь, наконец, что такое цикл но потом надо будет научиться пользоваться базой данных. |
| Автор: studentigor 30.12.2009, 16:25 |
| у меня просто есть рабочий скрипт который всё это делает нормально, но я его писал уже давненько и не в ооп. Хотел просто всё это сделать в классе. чуть не получается Что-то я не дружу с классами. Извините что отвлек. Всем спасибо!!! |
| Автор: Ипатьев 30.12.2009, 16:34 |
| проблема здесь, к сожалению, совсем не в ООП |
| Автор: studentigor 30.12.2009, 16:45 |
| Но так у меня ведь получилось сделать. Значит моя проблема - ооп. И там впринципе все переменные получил, но с выводом таблици - проблема. там у меня просто когда я считаю сколько у меня записей - я базу загоняю в двумерный массив а потом, уже в форе - вывожу ту строчку которая мне нужна. а здесь надо еще почитать чучуть работу с масивами. |