Этим постом я начинаю серию уроков по Взаимодействию PHP и MYSQL
Первый урок называется Вывод новостей в цикле. Так как новости, наиболее часто используется, я решил использовать именно их, вы же можете вместо новостей делать: статьи, посты, во общем что придет в голову.
Сколько будет уроков, сказать не могу, но я думаю что будет много
.
Для начала вам нужно будет установить DENWER (Джентльменский набор веб-разработчика). Делается это просто, достаточно следовать инструкциям в процессе установки. После того как DENWER установлен и запущен, можно приступать к заполнению базы данных.
Заполнять базу будем вручную, через phpmyadmin, т.к. основной акцент в этом уроке я делаю на вывод новостей, а не на ввод.
Зайдите в phpmyadmin, кто не знает как заходить, перейдите по этой ссылке.
Первым делом создайте новую базу с именем test_select.
Затем создайте новую таблицу с именем news.
Для создания таблицы используйте эту структуру.
Теперь нужно создать пользователя.
Вернитесь на главную страницу phpmyadmin и зайдите в Привилегии – Добавить нового пользователя. Заполните так как показано на картинке.
Осталось заполнить нашу таблицу данными. Для этого перейдите в таблицу news и выберете вкладку Вставить вверху страницы. Заполните таблицу любыми новостями.
Я написал такие новости.
Все, с phpmyadmin мы закончили. Настало время перейти к написанию программы которая будет выводить новости.
Откройте Macromedia Dreamweaver, или другой подобный редактор, я использую этот т.к. считаю его самым лучшим для разработки программ на php.
1. Создайте файл db.php. Он будет отвечать у нас за подключение базы данных.
Скопируйте этот код:
define ("HOST","localhost");
define ("USER","test_select");
define ("PASSWORD","test");
define ("DATABASE","test_select");
$connect = mysql_connect (HOST, USER, PASSWORD);
$db = mysql_select_db (DATABASE, $connect);
Что мы сделали? Мы сначала записали в константы значения наших данных: хоста, пользователя, пароля и базы данных. Затем мы подключились к базе данных используя значения констант и выбрали базу которую будем использовать.
2. Создайте файл news.php. Он будет отвечать за вывод всех новостей которые имеются в базе.
Скопируйте этот код:
include("db.php");
$query = mysql_query("SELECT * FROM news");
while($row = mysql_fetch_array($query))
{
printf ("<a href="\">
<h1>%s</h1>
</a>
%s
",
$row["id"], $row["title"], $row["text"]);
}
Что мы сделали? Подключили файл db.php. Выполнили запрос на вывод данных из базы. Начали цикл с условием, выполнять пока не будут выведены все новости. Вывели на экран название и текст новости. Вы видите что присутствует ссылка на файл view_news.php . Этот файл отвечает за вывод одной новости. Вы спросите, а как скрипт узнает какую именно новость выводить? Все просто, мы в запросе получили id новости, а в ссылке указываем этот id и передаем его методом GET файлу view_news.php.
3. Создайте файл view_news.php. Как вы уже знаете, он отвечает за вывод одной новости.
Скопируйте этот код:
include ("db.php");
if (isset($_GET["id"])) {$id = $_GET["id"];}
$query = mysql_query ("SELECT * FROM news WHERE id='$id'");
$row = mysql_fetch_array ($query);
printf ("
<h1>%s</h1>
%s", $row["title"], $row["text"]);
Что мы сделали? Подключили файл db.php. Выполнили проверку, существует ли глобальная переменная id. Если существует, то записать значение глобальной переменной id в переменную id. Сделали запрос вывести из базы новость. Обратите внимание, теперь мы выводим не все новость, а только ту, у которой поле id совпадает с переменной id. Вывели на экран название и текст новости.
Вот и все готово. Как вы заметили здесь отсутствует оформление страницы. Я специально этого не делал, ведь целью урока было научится выводить данные из базы. Надеюсь вы эту цель достигли. Если что-то не понятно, спрашивайте, с удовольствием отвечу.
P.S. Кому нужны исходные файлы урока, качаем тут.