| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Делаем постраничный вывод на Php + Mysql
В самом начале своего пути веб-программиста знаний у меня как и все было еще очень мало, но желания хоть отбавляй. И вот я начал писать свой первый скрипт - гостевую книгу. В то время интернет только начал зарождаться и гостевая книга была популярна. Но после нескольких дней я столкнулся с проблемой, которую в то время не мог решить: как выводить все сообщения по 10 на странице? С этим было просто, но вот как сделать ссылки на страницы, при переходе на которые показывались бы следующие 10 страниц??? Это было для меня огромной проблемой и для ее решения я оббегал кучу форумов и сайтов. Постраничный вывод очень нужен и в наше время, но статей по нему до сих пор почти нет. Я решил исправить эту несправедливость. На своем примере я покажу вам постраничный вывод сообщений из mysql-базы, т.к. сейчас она очень популярна и имеет множество преимуществ по сравнению с файлами. Если вам будет нужно, то я могу показать вам постраничный вывод сообщений из файла. Сначала надо пределить с базой, в которой хранятся наши сообщения. Не будем
придумывать огромные базы с сотнями таблиц. Возьмем для примера такую базу, в
которой только только 1 таблица и в ней 2 поля: номер сообщения и само
сообщение. Чуть ниже вы можете посмотреть на структуру таблицы из этой базы.
С базой определились, можно начинать скрипт. Для начала подключимся к нашей новоиспеченной базе и вычислим число строк в таблице posts. <?php $link = mysql_connect("localhost","user","pass"); //Подключаемся к серверу
базы данных Итак, начало положено. Теперь будем писать функцию для отображения ссылок на другие страницы с сообщениями, собственно говоря сам постраничный вывод. Это не слишком сложная функция, но и не самая простая, т.к. меньше она быть не должна, а больше по вашему усмотрению. Мы задаем функции 4 аргумента (в комментарии они описаны). Вы можете добавить несколько примочек в эту функцию на свой вкус я дал вам лишь основу, дальше двигайтесь сами. Можно например выделить ссылку на текущую страничку. function print_links($total,$page,$number,$links) //1 аргумент - всего
сообщений, 2 - номер текущей страницы, 3 - число сообщений на странице, 4 -
число отображаемых ссылок if ($page+$links <= $pages) if ($start < 0) for ($i=$start;$i<=$finish;$i++) //Записываем в переменную ссылки Итак, функция у нас готова. В ней вы можете указать сколько ссылок будет отображаться и сколько сообщений выводить. Осталось самое легкое: надо вывести сообщения в браузер, с учетом номера страницы, на которой сейчас посетитель. Для начала добавим небольшую проверку. Если у вас не указан номер страницы, то по умолчанию вам будет отображаться первая страница. МОжно добавить также дополнительные проверки, чтобы исключить работу скрипта при запросах вида: $#$## или фав1324. Это повысит безопасность скрипта, а следовательно и сайта. if (!isset($page)) { $page = "1"; } //Здесь мы делаем проверку. Если
переменная page (номер страницы) не указана, то ей присваивается значение 1 Вот теперь все. Я показал вам все функции: для генерации ссылок, для вывода
сообщений, для подключения к базе, остальное в вашим руках. Если вам интересно
будет как сделать постраничный вывод на файлах, то пишите мне и я напишу статью,
чтобы всем было понятно. Если что-то непонятно, то заходите ко мне на
сайт или
пишите мне на email Рубрика: PHP
Подгрузка через AJAX HTML-кода, содержащег....
При разработке CMS S.Builder наша команда активно использовала AJAX. Теперь вот решили поделиться накопленным опытом. Начнем с этого хабратопика. Не буду здесь затрагивать различные фреймворки и библиотеки. Свой код всегда роднее. Для работы с AJAX-ом в S.Builder написана библиотека sbAJAX. Можете качать и пользоваться :). В этом файле есть функция sbEvalJS. Для тех, кто не знает, объясню. При подгрузке через AJAX и вставке на страницу HTML-кода, содержащего JavaScript, JavaScript выполняться не будет или полезут баги. Эта функция как раз решает поставленную задачу.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Обзор нового релиза самой мощной Ajax библ....
Хотя наш обзор немного запоздал, оригинальный Dojo 1.2 вышел в релизной версии ещё 6-го октября, но сейчас мы наверстаем упущенное. И так, Dojo Toolkit — это самая мощная и гибкая ajax-библиотека из всех, что есть на рынке, она активно развивается и имеет большое комьюнити. Кстати, это самое комьюнити, совместно с компанией Sitepen, имеет ещё несколько проектов, среди которых и Cometd и некоторые другие, не менее интересные, о которых мы скоро вам расскажем. Сегодня же все внимание на флагманский продукт — Dojo 1.2.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Firebug 1.3 и 1.4 alpha — что нового и инт....
Если вы профессиональный веб-разработчик и постоянно имеете дело с разработкой и отладкой сложных AJAX приложений, то наверняка знаете и используете Firebug — плагин для браузера Firefox, предназначенный для отладки и исследования веб-приложений. Текущая его версия, 1.2х достаточно стабильная и функциональна, чтобы помочь в 99% проблем, которые могут возникнуть при разработке. Но и этот инструмент не лишён если не недостатков, то некоторых фич, которые могли бы облегчить работу. И даже идеальный инструмент можно сделать ещё более идеальным, как бы это не звучало.
Подробнее... |
Рубрика: Вебмастеру
| Добавлено: 19.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|