Клуб мобильного творчества
Меню
seg0ro 12.05.11 в 12:59 #
¯\_(ツ)_/¯
Автор: seg0ro
Урок 1
Вы уже немного знакомы с php и хотите попробовать свои силы в mysql? Эта статья призвана вкратце показать, чего же вас ждет впереди.
База данных(БД)-это очень удобная система для хранения любой информации, дальнейшей работы с ней.
Для управления БД используются разные программы. Лично я использую web-оболочку PhpMyAdmin(находится по разному адресу, так что спрашивайте у саппорта)
Стоить отметить, что для работы с PhpMyAdmin необходим браузер с поддержкой js, но так же может подойти OperaMini 4.xx-5.xx(ранние версии работают некорректно)
Я не буду рассказывать вам много теории. Будет лишь практика с примерами и краткими пояснениями(по ходу)
Цель первого урока - создать базу данных пользователя и таблицу.

1 Заходим в PhpMyAdmin и видим вот такую надпись "Новая база данных" под ней поле для названия, и выпадающее меню с кодировками, вводим название базы(Здесь и далее кавычки упускать!) "test" сравнение utf8_general_ci, жмем кнопку Создать.

2 Во вкладке "Привелегии" добавляем нового пользователя:
- Имя пользователя: test
- Хост (выбираем): любой хост
- Пароль: pass
- базу данных не создавать
- глобальные привилегии(пока ставите всё, далее можно ограничить доступ) отмечаем галочкой все поля
Рейтинг: 0
seg0ro 12.05.11 в 12:59 #
¯\_(ツ)_/¯
3 Переходим на вкладку "Базы данных" и в списке выбираем нашу "test", видим надпись "Создать новую таблицу в базе данных test". Имя "table" количество полей 3(три). Жмем кнопку ОК
3.1 Поле: 1-"id", 2-"name", 3-"city"
3.2 Тип: 1-INT, 2-VARCHAR, 3-TEXT
3.3 Длинна/Значение: 1-"11", 2-"50", 3-""
3.4 Индекс: 1-"PRIMARY"
3.5 A.I. 1-"Поставить галочку"

Таким образом у нас создается таблица с полем "id", у которого числовое(INT) значение не может привышать 11 чисел, поле имеет индекс и автоувеличение(потом будет ясно для чего); поле "name" у которого значение текст(VARCHAR) с длинной в 50 символов и поле "city" со значением текст.
Жмем Сохранить
База, пользователь, и таблица готовы!
Рейтинг: 0
seg0ro 12.05.11 в 13:00 #
¯\_(ツ)_/¯
Урок 2
На прошлом уроке мы с вами создали базу пользователя и таблицу.
Для чего мы это делали? Это было нужно для того, что бы мы смогли написать скрипт, который бы работал с Базой Данных (БД)
Теперь нам необходимо написать небольшой скрипт, который бы соединялся с базой.

Внимание!!!
В данной статье не затрагивается аспект безопасности. Так что заливать на сайт этот скрипт опасно для жизни!
Так же хочу обратить внимание на то, что в первой части мы, создавая базу данных ставили кодировку utf-8, поэтому все фалы должны быть в этой кодировке.

1 Итак для соединения с базой нам потребуется создать файл (db.php) со следующим содержанием:
<?php
$db_host 
"localhost"// адрес сервера (обычно localhost)
$db_user "test"// имя пользователя бд (создавали на прошлом уроке)
$db_pass "pass"// пароль пользователя бд (создавали на прошлом уроке)
$db_name "test"// имя БД (создавали на прошлом уроке)
$dbc mysql_connect($db_host$db_user$db_pass)or die('cannot connect to server'); // Коннект к БД
$dbs mysql_select_db($db_name)or die('cannot connect to db'); // Выбор БД
@mysql_query("SET NAMES 'utf8'"$dbc);
?>
2 Далее создаем индексный файл(index.php) сайта, где будем выводить информацию из базы:
<?php
require_once ('db.php'); // Подключаем файл с данными от ДБ
?>
<!DOCTYPE HTML PUBLIC "–//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http–equiv="content–type" content="text/html; charset=utf–8">
    <title>Вывод Данных из БД</title>
  </head>
  <body>
    <h1>Вывод Данных из БД</h1>
  </body>
</html>
Изменил(а) seg0ro 29.08.12 в 08:30
Рейтинг: 0
seg0ro 12.05.11 в 13:02 #
¯\_(ツ)_/¯
Где же вывод данных из базы, спросите вы?
А выводить то нечего! На прошлом уроке мы лишь создали базу и таблицу в ней, так что теперь нам предстоит сделать первую запись.
3 Заходим в PhpMyAdmin, выбираем нашу базу, таблицу в ней и нажимаем на владку "Вставить"
3.1 Поле "id" мы оставляем пустым
3.2 "name" - Иван
3.3 "city" - Москва
3.4 Нажимаем ОК
Таким образом у нас появилась первая запись в таблице:
id | name | city
1 | Иван | Москва

4 Вот теперь можно вывести эти данные на страницу(index.php)
require_once ('db.php'); // Подключаем файл с данными от ДБ
echo '<!DOCTYPE HTML PUBLIC "–//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http–equiv="content–type" content="text/html; charset=utf–8">
<title>Вывод Данных из БД</title>
</head>
<body>';
echo '<h1>Вывод Данных из БД</h1>';
$req = mysql_query("SELECT * FROM `table` "); // Запрос в таблицу test
$res = mysql_fetch_array($req); // Заносим данные из базы в массив
echo $res['name']; // Выводим имя
echo '</body>
</html>';
Немного разберем запросы:
4.1 mysql_query() - функция, которая позволяет выполнить какое то действие с базой, таблицей, записью или даже отдельным полем
4.2 SELECT - выбрать, * - всё, FROM - из таблицы `table`
4.3 mysql_fetch_array() - функция, которая возвращает обработанный массив данных
4.4 $res['name'] - из массива вытаскиваем интересующую нас информацию(в нашем случае имя)

Как результат у нас на экран должны появиться строки:
Вывод Данных из БД
Иван
Если да, то поздравляю, у вас получилось вывести данные из базы!
Файл(ы):
mysql_lesson2.zip (0.93 кб.) Скач. 437 раз.
Рейтинг: 0
seg0ro 12.05.11 в 13:03 #
¯\_(ツ)_/¯
Урок 3
На прошлых уроках мы с вами создали базу данных, соединились с ней и даже вывели данные. Но постоянно ходить в phpMyAdmin чо бы добавить какую-либо информацию по меньшей мере идиотизм! Поэтому мы с вами на этом уроке создадим скрипт, который будет принимать данные из формы на странице и добавлять их в таблицу.
Для работы понадобятся файлы из прошлого урока, кто еще не скачал, то советую.

Итак, создаем страницу с формой ввода данных (add.php)
require_once ('db.php'); // Подключаем файл с данными от ДБ
echo '<!DOCTYPE HTML PUBLIC "–//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http–equiv="content–type" content="text/html; charset=utf–8">
<title>Добавляем данные в базу</title>
</head>
<body>';
echo '<h1>Добавляем данные в базу</h1>';
if(isset($_POST['submit'])){
// обрабатываем данные
$name = trim($_POST['name']);
$city = trim($_POST['city']);
// добавляем данные в таблиу
mysql_query("INSERT INTO `table` SET 
`name`='".mysql_real_escape_string($name)."',
`city`='".mysql_real_escape_string($city)."'
");
echo 'Данные добавлены!<br /><a href=add.php>Добавить еще</a> | <a href=index.php>Главная</a>';
}else{
// выводим форму
echo '<form action="add.php" method="post">';
echo 'Имя: <input type="text" name="name" /><br />';
echo 'Город: <input type="text" name="city" /><br />';
echo '<input type="submit" name="submit" value="Добавить"/>';
echo '</form>';
}
echo '</body>
</html>';
Изменил(а) seg0ro 12.05.11 в 13:04
Рейтинг: 0
seg0ro 12.05.11 в 13:04 #
¯\_(ツ)_/¯
Разберем запрос:
1 mysql_query() - замечательная функция, которая работает с базой данных
2 Оператор INSERT - вставляет новую строчку c данными в таблицу `table`
3 SET - устанавливает значение для поля или группы полей(если их много то необходимо использовать запятую)
4 функция mysql_real_escape_string() - экранирует специальные символы таким образом, что результат можно использовать в SQL-запросе. Это обезопасит нас от банальной sql-иньекции
Если вы сделали все правильно, то у вас в таблице `table` создасться строка:
id | name | city
1 | Имя из формы | Город из формы

P.S. поскольку для поля `id` мы задали самоувеличивающееся значение то при добавлении строки мы будем игнорировать его (само заполниться)

Теперь заходим на index.php и смотрим что выводится то имя, которое вы ввели в форме ввода, у нас получилось, ура!
Файл(ы):
mysql_lesson3.zip (0.73 кб.) Скач. 423 раз.
Рейтинг: 0
Joint 05.08.11 в 11:14 #
Растаман все свое с собой возьмет.
Очень полезная информация, а продолжение будет?
Рейтинг: 0
seg0ro 05.08.11 в 12:11 #
¯\_(ツ)_/¯
Joint, а именно про что? Редактирование, удаление?
Рейтинг: 0
Joint 05.08.11 в 12:50 #
Растаман все свое с собой возьмет.
seg0ro, тоесть в тех уроках мы вывели данные, охото сделать теперь разделы к данным.. "боксер, лыжник, и так далее " суть понятна.. Но это не не добавление к данным а раздел.. Чтоб сначало были разделы
боксеры
лыжники
бегуны
и так далее а потом заходишь в раздел боксеры и там наш Иван.. =) надеюсь понятно объяснил..
Рейтинг: 0
Joint 05.08.11 в 12:57 #
Растаман все свое с собой возьмет.
Но для начало можно научится делать редактирование и удаление данных
Рейтинг: 0