MySQL & PHP : Основи
Преди да напиша урока, нека разгледаме един проблем –
създаването на база данни.
Аз лично я създавам чрез контрол панела на хоста, други през PHPMyAdmin а може и чрез PHP скрипт.
Няма да се впускам в това как да създадете база данни – приемам,че имате хостинг,който има
контрол панел а ако незнаете как да го ползвате може да звъннете един тел. и те ще ви обяснят.
Базата данни ще си има име , a чрез username и password ще получаите
достъп до нея.
Значи ето как примерно би трябвало да започва скрипта за свързване с базата данни:
$user="username";
$password="password";
$database="database";
mysql_connect(localhost,$user,$password);ако вашата база данни се казва TEST ,username BOBI и password 11111
то ще напишете така:
$user="BOBI";
$password="11111";
$database="TEST";
mysql_connect(localhost,$user,$password);За да ви е по лесно при четенето на урока по добре създайте база данни която
да е с име TEST, user BOBI и password 11111 за да може да ползвате примерите по долу
без да се налага да ги променяте.Така няма да се объркате и всичко ще работи.
Базата данни има таблична структура (така да се каже):
Тоест – всички данни и идентификатори са подредени в таблица.
Пример:
Искаме последователно да записваме информация за различни хора.
Информацията ще бъде следната:
1.Име
2.Фамилия
3.Телефон
4.Мобилен телефон
5.Факс
6.eMail
7.Уебстраница
Информацията може да се събира чрез формуляр или вие да я вкарвате сами.
Но тя ще бъде подредена в MySQl във вид на таблица.
Таблицата може да стане с хиляди имена на хора и срещу тях техните данни.
Достатъчно е да зададем на базата данни какво търсим и тя ще го открие веднага.
Примерно си преставете горната таблица безкрайно дълга.
Ако търсим в нея примерно:
„Чий беше този телефон 02/786857“
Ако кажеме на базата данни да намери този телефон на кой е тя ще прерови цялата колона с телефони
и щом намери съответствие ще ни покаже че срешу този телефон седи името:Иван Петров .
Ето как чрез PHP да създадем такава таблица в която ще записваме нашите данни:
<?
$user="BOBI";
$password="11111";
$database="TEST";
mysql_connect(localhost,$user,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="CREATE TABLE contacts (id int(6) NOT NULL auto_increment,first varchar(15) NOT NULL,last varchar(15) NOT NULL,phone varchar(20) NOT NULL,mobile varchar(20) NOT NULL,fax varchar(20) NOT NULL,email varchar(30) NOT NULL,web varchar(30) NOT NULL,PRIMARY KEY (id),UNIQUE id (id),KEY id_2 (id))";
mysql_query($query);
mysql_close();
?>Този скрипт ще го запишете като create.php
Таблицата, която създадохме се казва contacts.
От по горния код първите 4 реда са ясни вече.
Чрез петия ред се свързваме с дата база с име TEST .
Ето я и важната част:
$query="CREATE TABLE contacts (id int(6) NOT NULL auto_increment,first varchar(15) NOT NULL,last varchar(15) NOT NULL,phone varchar(20) NOT NULL,mobile varchar(20) NOT NULL,fax varchar(20) NOT NULL,email varchar(30) NOT NULL,web varchar(30) NOT NULL,PRIMARY KEY (id),UNIQUE id (id),KEY id_2 (id))";Създаване на таблица с име contacts която ще има 8 колкони.
Колоните също си имат име:
Ето първата колона е уникалния идентификатор. id int(6) NOT NULL auto_increment
Втората колона е за първите имена . first varchar(15) NOT NULL
Третата колона е за фамилийте . last varchar(15) NOT NULL
и тн…
id int(6) значи че тази колона ще съдържа само числа нещо като брояч
който ще номерира всеки ред от таблицата.
first varchar(15) NOT NULL ТАзи клетка от таблицата ще съдържа
най-много 15 знака(тоест името на човека не може да е по голямо от 15 знака).
След като създадохме таблицата трябва да знаем как да записваме в нея данни…
Ето HTML формуляра чрез който ще изпращаме данните :
<form action="insert.php" method="post">
First Name: <input type="text" name="first"><br>
Last Name: <input type="text" name="last"><br>
Phone: <input type="text" name="phone"><br>
Mobile: <input type="text" name="mobile"><br>
Fax: <input type="text" name="fax"><br>
E-mail: <input type="text" name="email"><br>
Web: <input type="text" name="web"><br>
<input type="Submit">
</form>Запишете го като form.html
А ето го и скрипта, който ще получава данните от формуляра и ще ги записва в базата данни.
<?
$user="BOBI";
$password="11111";
$database="TEST";
$first=$HTTP_POST_VARS['first'];
$last=$HTTP_POST_VARS['last'];
$phone=$HTTP_POST_VARS['phone'];
$mobile=$HTTP_POST_VARS['mobile'];
$fax=$HTTP_POST_VARS['fax'];
$email=$HTTP_POST_VARS['email'];
$web=$HTTP_POST_VARS['web'];
mysql_connect(localhost,$user,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = "INSERT INTO contacts VALUES ('','$first','$last','$phone','$mobile','$fax','$email','$web')";
mysql_query($query);
mysql_close();
?>Него го записваме като insert.php
Той получава данните от формуляра form.html и ги записва в таблицата.
Ето какво правиме оттук нататък:
Стартираме create.php
Ако всичко е наред ще се покаже бял екран(тъпо ама няма как)
Ако нещо има проблем ще изкочи надпис Unable to select database .
Ако излезе този надпис проверете следното:
Дали сте създали наистина база данни с име TEST.
Дали user и password съвпадат с тези, които са за вашата база данни.
Някой път има значение дали са написани с малки или големи букви .
Абе две думи някъде има жмел.
Ако обаче всичко е наред значи, че вече имате таблица с име contacts и тогава
стартирате файла form.html
Ще се появи формуляр.
Попълвате го и го изпращате няколко пъти с различни данни.
Когато натиснете бутона Submit данните се изпращат на скрипта insert.php и трябва да се
покаже бял екран ако всичко е наред. Ако ли не – ще даде грешка.
След малко ще напишеме скрипт който ще визуализира какво сме добавили в базата данни.
Ето го и него:
<?
$user="BOBI";
$password="11111";
$database="TEST";
mysql_connect(localhost,$user,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM contacts";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
echo "<table border=1><tr><td>first<td><td>last</td><td> phone</td> <td>mobile</td><td> fax
</td><td>email</td><td>web</td></tr>";
$i=0;
while ($i < $num) {
$first=mysql_result($result,$i,"first");
$last=mysql_result($result,$i,"last");
$phone=mysql_result($result,$i,"phone");
$mobile=mysql_result($result,$i,"mobile");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
echo "
<tr><td>$first<td><td>$last</td><td>$phone</td><td>$mobile</td><td> $fax</td><td>
$email</td><td>$web</td></tr>";
$i++;
}
?>записва те го като displaying.php и го стартирате.
Трябва всичко което сте попълнили в формуляра да се покаже в подреден вид.
Ето какво трябва да се случи постъпково:
Ако всичко сте направили както пише по горе трябва да имате 4 файла в една и съща директория:
create.php
form.html
insert.php
displaying.php
1.След като създадете база данни трябва да стартирате скрипта create.php и
да създадете таблица с име contacts.
2.Стартирате form.html попълвате формуляра и го изпращате чрез бутона Submit.
3.Стартирате displaying.php и ако всичко е наред ще видите данните които сте записали .
Урока е подготвен специално за http://web-tourist.net


