FoxWeb

софт для студентов
Искать здесь

Работа с MySQL в PHP: с чего начать?

Раздел: PHP, MySQL, веб-программирование Автор: fox++
E-mail: спаму - нет! Www: http://foxweb.net.ru
Просмотров: 3731 Дата: 20.12.2005
Многие обладатели домашних страничек рано или поздно начинают интересоваться устройством крупных новостных порталов и контент-проектов - не вручную же они все эти страницы делают! А как тогда? Данная статья поможет начинающему веб-мастеру начать создание проектов с применением PHP-MySQL.

Один из самых часто задаваемых вопросов начинающих веб-мастеров: как начать работать с базами данных MySQL, используюя скрипты на PHP? Это неудивительно, потому что эра статических HTML-сайтов давно прошла (на "Народе" это любимое народом дело процветает :) и теперь более-менее грамотные начинающие веб-мастера осознали удобство и комфорт создания и поддержания контент проектов на основе PHP-MySQL. Скептики и консерваторы будут утверждать, что работать с файлами проще, что легче наверстать страничку вручную, чем тратить время на отладку и написание скриптов. Не слушайте их - это абсурд! Как говорится "Лучше день потерять потом за 5 минут долететь!". Ну допустим, на подготовку и создание динамической версии сайта на основе PHP-MySQL уходит раза в два-три больше времени, а то и больше, но зато поддержка проекта в будущем покажется вам приятным и простым занятием (конечно, настолько, насколько серьёзно вы к этому подойдёте). А почему загибаются казалось бы хорошие статические сайты? Причина всему - рутинные операци по обновлению сайта. Если на PHP-MySQL сайте есть возможность добавлять статьи через форму (копировать, вставить, отправить), то для добавления статьи на статический сайт нужно намного больше более сложных операций:

  1. Сверстать новую страничку на основе существующего шаблона.
  2. Проверить форматирование, ссылки, картинки, всё ли на месте.
  3. Добавить ссылку на новую страницу где-то ещё (а то и на несколько!), например в раздел "Статьи".
  4. Проверить, как всё это работает целиком.
  5. Соединиться с сервером FTP.
  6. Закачать все обновлённые страницы на сервер.
  7. Проверить, всё ли работает в онлайне.

Вот почему многие бросают любимое занятие. Ну есть конечно некоторые усердные личности, которые годами поддерживают такие сайты. А есть и умельцы, которые за пару месяцев разработают БД и PHP-движок и будут жить методом "копировать, вставить, отправить"!

Надеюсь, я привёл достаточные аргументы в пользу динамического сайта. И вот Вася Пупкин решил опробовать себя в этом нелёгком деле, но тут возникает несколько резонных вопросов:

  1. Есть ли у меня PHP?
  2. Есть ли у меня MySQL?
  3. Есть ли у меня вообще сайт? (шутка :)

Итак, для создания динамического сайта нам понадобится хостинг с поддержкой PHP и MySQL. Ну здесь я вам не советчик - если вы создаёте серьёзный проект, то лучше немного заплатить, но получить всё и сразу - тогда вам сюда http://hcenter.info. Из бесплатных хостингов PHP и MySQL доступны кажется на Агаве, но я могу ошибаться - тогда поищите в Яндексе "бесплатный хостинг с поддержкой PHP MySQL" или что-то в этом роде.

Пропускаем момент регистрации на хостинге. Теперь вам должны выслать по email письмо с логинами и паролями. Внимательно прочитайте инструкции, посмотрите FAQ на сайте хостинга, если что-то непонятно. Теперь приступим непосредственно к разработке базы данных и PHP-скрипта, который будет выводить данные из таблицы.

Во-первых, вам необходимо создать новую базу данных на MySQL-сервере. Это очень легко делается при помощи инструментов типа phpMyAdmin или любого графического клиента MySQL - SQLyog, MySQL-Front. На большинстве хостингов это делается при помощи панели управления хостингом - тут я вам не помощник, смотрите сами. Выполните функцию создания новой базы, назвав её например "test".

При помощи одной из программ выполните SQL-дамп:

#
# Table structure for table `links`
#
# Creation: Aug 12, 2003 at 05:11 PM
# Last update: Aug 12, 2003 at 05:28 PM
#

CREATE TABLE `links` (
`id` int(10) unsigned NOT NULL auto_increment,
`url` varchar(100) NOT NULL default '',
`description` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=6 ;

#
# Dumping data for table `links`
#

INSERT INTO `links` VALUES (1, 'http://www.programmingsite.co.uk', 'programming directory');
INSERT INTO `links` VALUES (2, 'http://www.beginnersphp.co.uk', 'PHP tutorials and code');
INSERT INTO `links` VALUES (3, 'http://asp.programmershelp.co.uk', 'ASP site with code and tutorials');
INSERT INTO `links` VALUES (4, 'http://javascript.programmershelp.co.uk', ' javascript site');
INSERT INTO `links` VALUES (5, 'http://software.programmingsite.co.uk', ' software directory');

Теперь вы можете писать и выполнять свои PHP-скрипты для операций с только что созданной базой данных. Следующий PHP-скрипт подключается с серверу MySQL, производит выборку данных и выводит содержимое таблицы "links" в виде обычной HTML-таблицы.


<?php

//соединение с базой данных при помощи функции mysql_connect()
//в аргументах функции укажите имя сервера, логин и пароль.
$db mysql_connect("сервер","логин","пароль");

//функция mysql_select_db() выбирает текущую
//базу данных с именем "test"
mysql_select_db("test" ,$db);

//функция mysql_query() выполняет запрос на выборку данных
//результирующий набор данных хранится в переменной $sql
$sql mysql_query("SELECT * FROM links" ,$db);

//после получения данных начнём формирование HTML-таблицы
echo ("<table border ='1'>");

//выводим строку заголовков
echo ("<tr><td>Адрес</td><td>Описание</td></tr>");

//функция mysql_fetch_row() извлекает одну строку из результата
//и сохраняет её в массиве $tablerows
while ($tablerows mysql_fetch_row($sql))
{
//теперь в цикле для каждой полученной строки сделаем вывод
//$tablerows[1] соответствует полю "url"
//$tablerows[2] соответствует полю "description"
echo("<tr><td><a href='$tablerows[1]'>$tablerows[1]</a></td><td>$tablerows[2]</td></tr> ");
}
echo 
"</table>";

//закрытие соединение (рекомендуется)
mysql_close($db);

?>

Сохраните скрипт в файл под именем, например test.php и закачайте на FTP-сервер вашего сайта. Скрипт будет доступен например так: http://vasya.server.ru/test.php (ну или смотря куда вы его закачали). Если всё сделано правильно, скрипт отработает и выведет на экран содержимое БД в виде обычной таблицы. Таким же образом можно выводить любые таблицы, всё зависит от SQL-запроса в операторе mysql_query().

Буду искренне рад, если эта статья стала для вас отправной точкой для создания динамического сайта!

Перевод: fox++ на основе статьи и скриптов: http://tutorials.programmingsite.co.uk/phpmysql1.php.

Комментарии

KuRaToR 01.11.2007 14:18:29 #
Статья отличная. Много что мне пояснила. Автор если есть что нибудь подобное пиши.
tvolk@bk.ru
icq: 543447
foxweb 01.11.2007 16:48:02 #
Так понимаю, вы только начинаете знакомство с PHP. Очень рекомендую скачать официальное русскоязычное руководство http://www.php.net/get/php_manual_ru.chm/from/a/mirror
Rash 11.01.2008 02:02:27 #
Спасибо за статью!
Demi 21.07.2008 15:43:11 #
Огромное спасибо за ссылку на русский мануал. От инглиша толку никакого небыло. Терь есть куда подсмотреть. Спасибо.

Оставить комментарий

Ваше имя

Ваш комментарий

Код   Защитный код. Если вы не видите здесь рисунок - обновите страницу.
Оценка   

Заметки по этой теме