V dnešním díle o tvorbě aplikace pro uchovávání kontaktů přes PHP dokončíme z minulého dílu část pro vyhledávání v databázi firem. Dnes navíc doplníme skripty pro zobrazení detailu firmy a smazání záznamu.
V minulém díle jsem skončil u zobrazení výsledků hledání. Na každém řádku vedle výsledku jsou 3 ikonky, jejichž význam jsem již vysvětlil. A dnes si přejdeme od teorie k „praktické teorii“. Po kliknutí na ikonku je pomocí JavaScriptu zobrazeno malé okno, ve kterém se objeví všechny zadané informace o firmě.
function showDetail(Rec_ID){ window.open(„detail_company.php?Firma_ID=“+Rec_ID,“_kontakty_detail“,“toolbar=0, location=0, directories=0, status=0 menubar=0, scrollbars=0, resizable=1,width=320,height=300″); } |
|
Jak sami vidíte, kód funkce pro otevírání nového okna je velmi jednoduchý. Funkce showDetail neudělá vlastně nic jiného, než že zavolá metodu open objektu window. Parametrem této funkce je ID záznamu, který chceme zobrazit.
Stránka detail_company.php, která slouží k zobrazení detailu firmy, je vlastně velmi jednoduchá. Jedná se o obyčejný SELECT z databáze a následné zobrazení jeho výsledku.
$Conn = mysql_connect(„localhost“,“dbuser“,“userdb“); mysql_select_db(„db_interval“,$Conn); //Pristupy do DB if (isset($Firma_ID)){ $SQLText=“SELECT * FROM TKontakty_Firmy WHERE Firma_ID=$Firma_ID“; $RS=mysql_query($SQLText,$Conn); $Firma_Info=mysql_fetch_array($RS); } mysql_close($Conn); |
|
Jak sami vidíte, jedná se vážně o jednoduchý skript. Po kontrole, zda je zadán vstupní parametr Firma_ID, se provede SQL dotaz. Jeho výsledek překopírujeme do pole $Firma_Info. Toto pole pak použijeme pro vypsání dat při vlastním zobrazení.
<body topmargin=“5″ leftmargin=“5″ marginheight=“5″ marginwidth=“5″ onLoad=“self.focus();“> ….. echo „<TABLE BORDER=\“0\“ cellpading=\“0\“ cellspacing=\“0\“>“; echo „<TR>“; echo „<TD>Název:</TD>“; echo „<TD>“.$Firma_Info[„Nazev“].“</TD>“; echo „</tr>“; echo „<tr>“; echo „<TD>Ulice:</TD>“; echo „<TD>“.$Firma_Info[„Ulice“].“</TD>“; echo „</TR>“; echo „<tr>“; echo „<TD >Město:</TD>“; echo „<TD>“.$Firma_Info[„Mesto“].“</TD>“; echo „</TR>“; echo „<tr>“; echo „<TD>PSČ:</TD>“; echo „<TD>“.$Firma_Info[„PSC“].“</TD>“; echo „</TR>“; echo „<tr>“; echo „<TD>Telefon:</TD>“; echo „<TD>“.$Firma_Info[„Telefon“].“</TD>“; echo „</TR>“; echo „<tr>“; echo „<TD>FAX:</TD>“; echo „<TD>“.$Firma_Info[„Fax“].“</TD>“; echo „</TR>“; echo „<tr>“; echo „<td colspan=\“2\“ align=\“center\“><input type=\“button\“ value=\“Zavřít\“ onClick=\“self.close()\“ CLASS=\“Button\“></td>“; echo „</tr>“; echo „</TABLE>“; |
|
Samotná stránka pro detail obsahuje kromě kódu pro jeho zobrazení pouze tlačítko Zavřít. V BODY je na událost onLoad přivěšen focus(); No a nyní nám už zbývá jenom smazání záznamu. Takže si nyní probereme, co se stane po kliknutí na ikonu pro mazání . Pomocí JavaScriptu se zobrazí dotaz současně s varováním. Pokud uživatel klikne na OK, dojde k přesměrování na stránku pro mazání.
function deleteRecord(Rec_ID){ if (confirm(„Smazat ?!\nAkce je nevratná!“)) window.location=“delete_company.php?From=search&Firma_ID=“+Rec_ID; } |
|
Skript pro mazání si pouze zkontroluje, zda-li je zadáno Firma_ID. Pokud není, ukončí svůj běh. Pokud ano, provede výmaz položky a přesměruje prohlížeč zpět na vyhledávací stránku.
<? if (!isset($Firma_ID)) die(„Není co mazat!“); $Conn = mysql_connect(„localhost“,“dbuser“,“userdb“); mysql_select_db(„db_interval“,$Conn); $SQLText=“DELETE FROM TKontakty_Firmy WHERE Firma_ID=$Firma_ID“; mysql_query($SQLText); mysql_close($Conn); echo „<html><head><meta HTTP-EQUIV=\“Refresh\“ CONTENT=\“0; URL=“search_company.php\“></html>“; ?> |
|
A to je pro dnešek vše, milí čtenáři. Jako vždy si můžete stáhnout zdrojové soubory aplikace.