Webmaster общности: Predpriemach.com | SearchEngines.bg

    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