Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
PHP Souhrnné cvičení 4 - 19 Mgr. Josef Nožička IKT PHP www.zlinskedumy.cz
2
AnotaceMateriál poskytuje žákům ucelený příklad na spojení PHP programu s SQL databází. Musí být doplněn výkladem. AutorMgr. Josef Nožička (Autor) JazykČeština Očekávaný výstup26–41-M/01 Elektrotechnika 78-42-M/01 Technické lyceum Speciální vzdělávací potřeby - žádné - Klíčová slovaSQL, formulář, databáze Druh učebního materiáluPrezentace Druh interaktivityKombinované Cílová skupinaŽák Stupeň a typ vzděláváníodborné vzdělávání Typická věková skupina16 - 19 let Vazby na ostatní materiályJe součástí IKT.
3
Zadání příkladu S pomocí PHP a MySQL naprogramujte databázi pro evidenci zaměstnanců firmy. Program bude přes webové rozhraní umožňovat: přidání nového zaměstnance do evidence vyřazení zaměstnance z evidence opravu údajů u existujícího zaměstnance výpis všech evidovaných zaměstnanců
4
Vytvoření databáze V administračním prostředí My SQL vytvoříme databázi Firma. Součástí této databáze bude tabulka Zaměstnanci, kterou můžeme vytvořit v administračním prostředí „ručně“ nebo s pomocí SQL dotazu create table: CREATE TABLE Zamestnanci ( `jmeno` VARCHAR( 15), `prijmeni` VARCHAR( 15 ), `oddeleni` VARCHAR( 25 ), `datumnarozeni` DATE, `zakladniplat` MEDIUMINT ) Poznámka: Jde jen o ilustrativní příklad, v prakticky využitelné databázi by položek bylo nejspíš více než 5.
5
Přidání nového záznamu do tabulky <?php mysql_connect("mysql.ic.cz","ic_firma","*****"); mysql_select_db("ic_firma"); $pjmeno= $_REQUEST["jmeno"]; $pprijmeni= $_REQUEST["prijmeni"]; $poddeleni=$_REQUEST["oddeleni"]; $pdate= $_REQUEST["datumnarozeni"]; $pplat= $_REQUEST["zakladniplat"]; $sql="insert into zamestnanci (jmeno,prijmeni,oddeleni,datumnarozeni,zakladniplat) values ('$pjmeno','$pprijmeni','$poddeleni','$pdate','$pplat')"; $res=mysql_query($sql); if ($res) echo "Zaměstnanec byl přidán"; else echo "Dotaz nebyl proveden"; ?> Data se předají programu prostřednictvím formuláře a do příslušného PHP skriptu se zapíší následující příkazy (použije se SQL příkaz insert into):
6
Odstranění záznamu z tabulky <?php mysql_connect("mysql.ic.cz","ic_firma","*****"); mysql_select_db("ic_firma"); $pjmeno= $_REQUEST["jmeno"]; $pprijmeni= $_REQUEST["prijmeni"]; $sql="delete from zamestnanci where (prijmeni='$pprijmeni') and (jmeno='$pjmeno') "; $res=mysql_query($sql); if ($res) { $p=mysql_affected_rows(); echo "Bylo smazáno záznamů: $p"; else echo "Dotaz nebyl proveden"; ?> Prostřednictvím formuláře se zadá jméno a příjmení zaměstnance, který má být z tabulky odstraněn a do příslušného PHP skriptu se zapíší následující příkazy: (použije se SQL příkaz delete)
7
Výpis záznamů z tabulky <?php mysql_connect("mysql.ic.cz","ic_firma","*****"); mysql_select_db("ic_firma"); $sql="SELECT prijmeni,jmeno,oddeleni,zakladniplat FROM zamestnanci order by prijmeni,jmeno"; $res=mysql_query($sql) or die("Nelze provést dotaz!"); echo " "; echo " příjmení: jméno: oddělení: základní plat:"; while ($zaznam = mysql_fetch_array($res)) { echo " $zaznam[0] $zaznam[1] $zaznam[2] $zaznam[3] "; } echo " "; ?> Tento úkon se provede kombinací SQL příkazů select a mysql_fetch_array. Do příslušného PHP skriptu se napíší následující příkazy:
8
Oprava údajů v tabulce <?php mysql_connect("mysql.ic.cz","ic_firma","*****"); mysql_select_db("ic_firma"); $pjmeno= $_REQUEST["jmeno"]; $pprijmeni= $_REQUEST["prijmeni"]; $sql="select jmeno,prijmeni,oddeleni,datumnarozeni,zakladniplat from zamestnanci where (prijmeni='$pprijmeni') and (jmeno='$pjmeno') "; $res=mysql_query($sql); if ($zaznam = mysql_fetch_array($res)) { // zobrazení formuláře s dosud zapsanými daty vybraného zaměstnance } ?> Tento z hlediska naprogramování nejsložitější úkon se provede ve dvou krocích. Nejprve se zadá příjmení a jméno zaměstnance, u kterého má být oprava provedena, a kombinací SQL příkazů select a mysql_fetch_array se provede jeho vyhledání v tabulce. Do PHP skriptu se napíší následující příkazy:
9
Oprava údajů v tabulce - pokračování <?php mysql_connect("mysql.ic.cz","ic_firma","*****"); mysql_select_db("ic_firma"); $pjmeno= $_REQUEST["ojmeno"]; $pprijmeni= $_REQUEST["oprijmeni"]; $poddeleni=$_REQUEST["ooddeleni"]; $pdate= $_REQUEST["odatumnarozeni"]; $pplat= REQUEST["ozakladniplat"]; $sql="update zamestnanci set oddeleni='$poddeleni', zakladniplat='$pplat' where (prijmeni='$pprijmeni') and (jmeno='$pjmeno') "; $res=mysql_query($sql); if ($res) echo "Údaje byly opraveny "; else echo "Dotaz nebyl proveden"; ?> V druhém kroku se pak pomocí SQL příkazu update provede v tabulce požadovaná oprava. Do příslušného PHP skriptu se napíší následující příkazy:
10
Zdroje BRÁZA, Jiří. PHP 5: začínáme programovat. 1. vyd. Praha: Grada Publishing, 2005, 244 s. ISBN 80-247-1146-X.
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.