Создаём WAP-сайты. Часть 4. Тонкости MySQLВ прошлый раз мы начали разговор о MySQL. Сегодня же самое время обсудить особенности реляционных баз данных и написать WAP-приложение, использующее возможности PHP и MySQL.Для начала определимся с приложением, которое мы будем писать. Предлагаю создать гостевую книгу. В основные функции гостевой книги входит добавление и чтение приложений пользователями. На примере этих функций мы рассмотрим важнейшие возможности MySQL и особенности работы с ними. Теперь займёмся проектированием базы данных для гостевой книги. Проектирование базы данных Реляционная база данных состоит из таблиц. Поэтому для того, чтобы начать работать с базой, нужно решить какие таблицы будут в неё входить и разработать их структуру. Таблицы реляционной базы данных – это самые обычные таблицы, состоящие из строк и столбцов. Например, наше приложение будет работать лишь с одной таблицей – её пример приведён ниже. Обратите внимание на столбец «Msg_number» - это первичный ключ таблицы. Ключ нужен для однозначной идентификации сообщений – значения в этом поле не могут повторяться. С помощью ключевых полей осуществляется связь различных таблиц в более сложных базах данных. Итак, теперь давайте создадим таблицу в базе данных и приступим к описанию особенностей работы с MySQL. Создать таблицу можно различными способами – всё зависит от вашего хостинга. Мы экспериментировали с бесплатным хостингом jino-net.ru. Он поддерживает MySQL. В частности, управление базой данных ведётся с помощью интерфейса PHPMyAdmin. Это удобный, интуитивно понятный инструмент. С его помощью мы создали таблицу guestbook в базе данных litexperiments. Ниже приведён SQL-запрос, генерирующий такую таблицу, который может быть встроен в PHP-файл. Поле Msg_number мы сделали ключевым (Primary_key), использовали для него числовой тип данных (Int) и установили свойство автоматического увеличения при добавлении записей (Auto_increment). Остальные поля сделали символьными (Varchar), использующими набор символов utf8, задали длины полей с именем пользователя и адресом электронной почты, равными 50 символов, а сообщению отвели 150 символов. Теперь рассмотрим особенности работы с MySQL посредством инструментов PHP. Работа с MySQL Прежде чем работать с базой данных, нужно к ней подключиться. Для подключения к серверу баз данных нужно знать имя сервера, имя пользователя и пароль. Эти данные обычно выдаются при регистрации на хостинге, если вы не знаете их – посмотрите документацию к вашему хостингу или напишите письмо в службу поддержки. В нашем случае данные для подключения к MySQL-серверу выглядят так: Сервер: localhost (по отношению к PHP-скрипту сервер является локальным хостом) Имя пользователя: litexperiments Пароль: parole (реальный пароль не приводится из соображений безопасности). Для подключения к базе данных нужно выполнить такую команду: $data_link – это идентификатор соединения, который используется при дальнейшей работе с сервером баз данных. После того, как мы подключились к серверу, мы можем выбрать базу данных (сервер может содержать множество баз). Наша база данных называется litexperiments, в итоге, запрос на выбор базы выглядит так: Теперь мы можем выполнять с базой различные действия. В частности, создавать запросы на выборку, запись, удаление информации из таблиц. Для того, чтобы записать информацию в одну из таблиц базы данных, нам понадобится такая конструкция: Здесь мы используем переменные. Может показаться, что в данном примере они не нужны – данные можно внести прямо в строку запроса. Это действительно так, однако ниже мы будем пользоваться передачей информации из формы, заполненной пользователем, в скрипт. В такой ситуации без использования переменных не обойтись. Обратите внимание на переменную $number, которая символизирует номер записи. Выше, создавая таблицу guestbook, мы установили для поля Msg_number свойство Auto_Increment – благодаря этому свойству, при добавлении очередной строки в таблицу, Msg_number будет автоматически увеличиваться на 1. Переменная $number пуста – мы используем её лишь для наглядности. В переменной $sql мы строим запрос, после чего используем эту переменную в функции mysql_huery() для выполнения запроса. Теперь рассмотрим чтение данных из базы. Мы будем использовать простой запрос, который выведет содержимое базы на WML-страничку. Строку select * from guestbook можно расшифровать как «выбрать всё из таблицы guestbook». Более сложные запросы содержат условия выборки данных. Например, возможен такой запрос: select * from guestbook where Author_name="Alexander". Такой запрос выведет все сообщения пользователя, который назвался как Alexander. Выбрав из таблицы guestbook все строки (записи), мы выводим их по очереди. Для этого используем функцию mysql_fetch_array (). Она возвращает в переменную $record массив, содержащий первую строку из строк, выбранных командой mysql_query(). После этого выводим в цикле все значения из массива, используя имена столбцов исходной таблицы. А дальше – выполняем новую команду mysql_fetch_array (). Цикл будет продолжаться до тех пор, пока $record не окажется пустой. После работы с базой данных, её нужно закрыть. Сделать это можно следующей командой: Мы рассмотрели основные операции по работе с базой данных. Теперь давайте используем полученные знания для создания работающего приложения. Реализация гостевой книги Для того, чтобы реализовать гостевую книгу, нам понадобится создать следующие PHP-документы:
Ниже приведён код каждой из этих страничек: Стартовая страничка Страничка с полями для ввода данных Обратите внимание на конструкцию < go href= "load.php" method="post" > - здесь мы задаём имя скрипта, которому будем передавать данные, введённые пользователем в поля такого вида: < input title="username" name="name" />. Ниже, в строках такого вида: мы задаём имена передаваемых переменных и их содержимое, которое берётся из полей ввода. Страница, записывающая данные в базу Обратите внимание на строки такого вида: $ email=$_POST['email'] ; - с их помощью мы присваиваем переменным значения, переданные со страницы ввода. Эти значения будут записаны в базу данных. Если попытка записи завершилась успешно, скрипт выведет сообщение «Сообщение добавлено», если нет – сообщение «Произошла ошибка». Страница вывода данных из базы Выводы Если вы тщательно проработаете приведенный пример, в дальнейшем вы сможете эффективно использовать WML, PHP и MySQL в своих собственных проектах. Но на этом разговор о мобильных интернет-технологиях не окончен – в следующий раз мы рассмотрим язык WMLScript. © Заика Александр, Mobiset.ru Дата публикации статьи - 1 июля 2008 г.
Наша группа ВКонтакте - присоединяйся! Оперативная и эксклюзивная информация - в 140 знаках! Подписывайтесь на наш канал: Читать @Mobiset comments powered by Disqus Смотрите также: Создаём WAP-сайты. Часть 3. PHP и MySQL Создаём WAP-сайты. Часть 2. Основы WML Создаём WAP-сайты. Часть 1. Предварительная подготовка: собираем инструменты Читайте полную версию материала: http://mobiset.ru/articles/text/?id=2235 |