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énoE-mail
Jirka Mlíkojirka@smetana.cz
Pepa Vořechvorech@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 E-mail
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 E-mail
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



Doporučuji
Pro své weby používám *Webhosting C4: 20 GB prostoru, PHP, MySQL, e-maily, subdomény za 1200 Kč (zdarma 2 GB navíc každý rok). Více WebhostingC4.cz.
Potřebujete poradit?


Vyhledávání


Osobně doporučuji

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.

Reklama