MySQL, SQL a PHP
jak vypadá databáze|Vytvořebí databáze|Vytvoření tabulky|Vytvoření dat|Výpis obsahu|Hledání|Změna dat|Hledání
Už se tady začíná kupit moc nových pojmů. Občas je na webu nutné mít data srovnané podle nějakých pravidel, přistupovat k nim mazat je, potom je výhodné využít databázi. Jak taková databáze vypadá?? Databáze je vlastně několik tabulek (jména sloupců, čísla řádků..). SQL je velmi jednoduchý jazyk, který pracuje s databázemi (např. MySQL) a PHP z něj vytváří normální text webových stránek. Na této stránce najdete několik základních skriptů pro práci s databází. PHP umí pracovat i s jinými databázemi (Oracle, Postgree, MS Acess). Ale databázi MySQL poskytuje i mnoho freewebů, zatímco ty ostatní zatím asi žádný.
Jak vypadá databáze
V našich příkladech budeme používat databázi MySQLj.
Takže nyní máme databázi, kterou pojmenujeme mydata jako každá databáze i ta naše je na serveru, který se jmenuje
localhost, heslo je php a jméno uživatele (naše jméno) je php@localhost.
Naše databáze ostatně jako každá jiná se zkládá z tabulek.
Nám postačí jen jedna, která se bude jmenovat adresar.
Tady je přehled naší databáze:
databáze: mydata
server: localhost
heslo: php
uživatel: php@localhost
tabulka: adresar
Jméno | |
---|---|
Jirka Mlíko | jirka@smetana.cz |
Pepa Vořech | vorech@voresak.cz |
Anička Kovářová | kovar@anna.cz |
Jde o smyšlená jména, jakákoli podobnost s osobami žijícími, či již nežijícími je čistě náhodná!! Rovněž i e-mailové adresy!!
Každá tabulka se zkládá ze sloupců a dat. Krásně jsem to tady vypsal, ale teď se podíváme jak se dá pomocí PHP a SQL obsah této tabulky vypsat, hledat v ní, přidávat údaje, mazat data, mazat tabulky, vytvářet tabulky a databáze..
Vytvoření databáze
Nyní vytvoříme databázi mydata.Všechny kódy normálně vložíte do stránek, tak jako skripty v PHP
<? $jmeno="mydata"; $spojeni=mysql_connect("localhost","php@localhost","php"); $vytvorit=mysql_create_db($jmeno, $spojeni); ?>
Tady jsme se dokonce obešli bez SQL kódu.Funkce mysql_connect("localhost","php@localhost","php") navazuje spojení s místním serverem. mysql_create_db($jmeno, $spojeni) vytváří databázi mydata
Vytvoření tabulky
Nyní v databázi mydata vytvoříme tabulku adresar a v ní sloupce Jméno a E-mail
<? $db="mydata"; $tb="adresar"; $sloupec1="Jméno"; $sloupec2="E-mail"; $spojeni=mysql_connect("localhost","php@localhost","php"); mysql_select_db($db, $spojeni); $tabulka=mysql_query(CREATE TABLE `$tb` (`$sloupec1` VARCHAR (20) NOT NULL,`$sloupec2` VARCHAR (40) NOT NULL)), $spojeni); ?>
Zde jsme již použili příkaz SQL pro vytvoření tabulky funkce mysql_select_db($db, $spojeni) vybere databázi se kterou chceme pracovat. mysql_query(kód SQL, $spojeni) je funkce zpracovávající kód SQL. VARCHAR (počet) tento parametr SQL určuje kolik znaků může mít poznámka v daném sloupci. NOT NULL znamená, že data nebudou nulová.
Vytvoření dat
Nyní přidáme zaznam Jirka Mlíko - jirka@smetana.cz stejným způsobem budete moci vytvořit i ty ostatní.
<? $db="mydata"; $tb="adresar"; $spojeni=mysql_connect("localhost","php@localhost","php"); mysql_select_db($db, $spojeni); mysql_query("INSERT INTO $tb values ('Jirka Mlíko', 'jirka@smetana.cz')", $spojeni); ?>
Výpis názvů sloupců a jejich dat
Tento kód využijete v momentě, kdy budete potřebovat zobrazit data celé tabulky, tak jako je trochu výše jedna tabulka.
<? $spojeni=mysql_connect("localhost","php@localhost","php"); $co="SELECT * FROM adresar"; $navrat=mysql_db_query("mydata", $co, $spojeni); echo("<table border=\"1\">"); for ($i=0;$i<mysql_num_fields($navrat); $i++){ echo("<td><strong>".mysql_field_name($navrat, $i)."</strong></td>"); } while (list($meno, $mail) = mysql_fetch_row($navrat)){ echo("<tr><td>$meno</td><td>$mail</td></tr>"); } echo("</table>"); ?>
V prohlížeči by mělo vzniknout toto:
Jméno | |
Jirka Mlíko | jirka@smetana.cz |
Pepa Vořech | vorech@voresak.cz |
Anička Kovářová | kovar@anna.cz |
Hledání
Někdy je dat moc a tak musíme hledat.Hledáme záznam s Jirkou Mlíkem a jako klíčové slovo k vyhledávání zadáme smetana
<? $db="mydata"; $tb="adresar"; $spojeni = mysql_connect("localhost","php@localhost","php"); mysql_select_db($db, $spojeni); $result=mysql_query("SELECT * FROM `$tb`"); //tento kód vypíše názvy sloupců: echo ("<table border=\"1\" bordercolor=\"Black\"><tr>"); for($i=0;$i<mysql_num_fields($result); $i++){ echo("<td style=\"font-weight: bold\">".mysql_field_name($result, $i)."</td>"); } echo("</tr>"); //tento kód vypíše odpovídající položky: $hledat = "smetana"; $vysledek2 = mysql_query("SELECT * FROM `$db`.`$tb` WHERE `E-mail` LIKE '%".$hledat."%' OR `Jméno` LIKE '%".$hledat."%'", $spojeni); while ($zaznam2 = mysql_fetch_array($vysledek2) ): echo ("<tr><td>".$zaznam2["Jméno"]."</td>"); echo ("<td>".$zaznam2["E-mail"]."</td></tr>"); endwhile; echo("</table>"); ?>
A vznikne nám (alespoň doufám) toto:
Jméno | |
Jirka Mlíko | jirka@smetana.cz |
Změna dat
Občas se vyskytne chyba a my pořebujeme z Jirky Mlíka udělat Jirku Smetanu.
<?
$db="mydata"; $tb="adresar"; $spojeni = mysql_connect("localhost","php@localhost","php"); mysql_select_db($db, $spojeni); $zmena=mysql_query("UPDATE `$tb` SET `Jméno` = 'Jirka Smetana' WHERE `Jméno` = 'Jirka Mlíko' AND `E-mail` = 'jirka@smetana.cz'", $spojeni); ?>
Mazání
Jestli vás už datábáze nudí, tak je můžete zničit tímto kódem. Nejprve Jirku Smetanu pak tabulku a nakonec zničíme i databázi
<?
$db="mydata"; $tb="adresar"; $spojeni = mysql_connect("localhost","php@localhost","php"); mysql_select_db($db, $spojeni); //smazání Jirky: $odstranit1=mysql_query("DELETE FROM `$tb` WHERE `E-mail`='jirka@smetana.cz' AND `Jméno`='Jirka Smetana'", $spojeni); //smazání tabulky: $odstranit2=mysql_query("DROP TABLE `$tb`", $spojeni); //odstranění databáze: $odstranit3=mysql_drop_db($db, $spojeni); ?>
jak vypadá databáze|Vytvořebí databáze|Vytvoření tabulky|Vytvoření dat|Výpis obsahu|Hledání|Změna dat|Hledání
Jazyk pro komunikaci s databázemi: SQL
Vyhledávání
Základy
Rozšíření
Příklady
- PHP scripty
- Kniha návštěv
- Ochrana e-mailu
- Malé šablony
- Počítadlo návštěv
- Odeslání e-mailu
- Generování formuláře
- IP adresa
- RSS čtečka
- Heslo
- Zaheslování jedné stránky
- Ověření e-mailu
- Odstranění diakritiky
- Aktuální datum a čas
- Vypsání souboru
- Počet souborů v adresáři
- Vypsat název dne
- Vypsat název měsíce
Ostatní
Poradna
Pokud si nevíte rady, chcete kontakt na spolehlivého tvůrce webu, či vás zajímá cizí názor, ozvěte se.