a web programozása 5. előadás php szkriptek alkalmazása a webes adatbázis kezelésére
DESCRIPTION
A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére. Rózsa Szabolcs BME Általános- és Felsőgeodézia Tanszék. Tartalom. Az adatbázis és a naptárfelület integrálása Mintafeladatok: űrlapok tervezése, szerkesztése; mintaadatbázisok létrehozása; - PowerPoint PPT PresentationTRANSCRIPT
A Web programozása
5. előadásPHP szkriptek alkalmazása a webes adatbázis kezelésére
Rózsa SzabolcsBME Általános- és Felsőgeodézia Tanszék
Tartalom
• Az adatbázis és a naptárfelület integrálása
• Mintafeladatok:• űrlapok tervezése, szerkesztése;• mintaadatbázisok létrehozása;• kapcsolódó PHP szkriptek fejlesztése;
Hol tartottunk?
Feladat:• integráljuk az adatbeviteli űrlapot a naptáralkalmazásba;• módosítsuk a naptárat úgy, hogy a napra kattintva, az aznapi programok megjelenjenek (ha vannak ilyenek)
1. lépés: Az adatbeviteli űrlap integrálása a naptárba
Hozzunk létre egy linket, ami az adatbeviteli űrlapra mutat!
1. Másoljuk be az e:\webprog\eloadas04 könyvtárban található php fájlokat az e:\webprog\calendar könyvtárba!
2. Nyissuk meg az e:\webprog\calendar könyvtárban az index.php-t!
3. Hozzunk létre egy linket a form.php fájlra!
Index.php
Index.php
Próbáljuk ki, hogy működik-e az adatbevitel!
• indítsuk el a MySQL adatbázisszervert (parancssor -> mysqld)!
• nyissuk meg a böngészőben a phpmyadmin felületet! (http://localhost/myadmin)
• Próbáljunk meg felvinni egy új eseményt:
• Web programozása óra• 2011-04-18 14.15-16.00• típus: előadás
Ellenőrizzük le az adatbevitel sikerességét az adatbázisban!
Események megjelenítése
• abban az esetben, ha egy naphoz tartoznak események, akkor a napok sorszáma egy link legyen;
• a link mutasson egy olyan php szkriptre, amelyik az adott nap eseményeit válogatja le, és meg is jeleníti azokat.
Az adatbáziskapcsolat felépítése
Az adatbáziskapcsolat felépítése
$username="root";$password="ujjelszo";$hostname="localhost";$dbkapcsolodas=mysql_connect($hostname, $username, $password)
or die ("Nem tudok csatlakozni a MySQL adatbázishoz");$adatbazis=mysql_select_db("naptar",$dbkapcsolodas)
or die ("Nem tudom kiválasztani a naptar adatbázist");$lekerdez = mysql_query("SET CHARACTER SET latin2");$lekerdez = mysql_query("SET NAMES latin2");
for ($j=0; $j<7; $j++) // For ciklus a hét napjaira{$caldatearray = getdate($caldate);$querystring = "SELECT * FROM esemeny WHERE DATE(KEZDES)='".$today[year]."-".$caldatearray[mon]."-".$caldatearray[mday]."';";$lekerdez = mysql_query($querystring);$nincs_esemeny=0;$rekordok=mysql_fetch_array($lekerdez, MYSQL_ASSOC);if (empty($rekordok))
{$nincs_esemeny=1;}
Naponként lekérdezzük az aznapi teendőket,eldöntjük, hogy van-e aznapra programunk
if ($nincs_esemeny){if ($today[mday] == $caldatearray[mday])
echo "<td><font color=\"#FF0000\"><b><i><u>$caldatearray[mday]</u></i></b></font>$nincs_esemeny</td>";
else{if ($caldatearray[wday] == 0)
echo "<td><font color=\"#FF0000\"><b>$caldatearray[mday]</b></font></td>";
elseecho "<td>$caldatearray[mday]</td>";// Ha az aktuális hónaphoz tartozik, akkor pedig feketével
}}else
{echo "<td><a href=\"select.php?year=$today[year]&month=$caldatearray[mon]&day=$caldatearray[mday]\">$caldatearray[mday]</a></td>";} GET metódus
Kiíratjuk a napokat, szükség esetén linket helyezünk el
PHP szkript írása a napi programok leválogatásáraGET metódust használtunk a lekérdezési adatok átadásához (year, month, day)
<?php$ev=$_GET['year'];$ho=$_GET['month'];$nap=$_GET['day'];
$querystring="SELECT esemeny.ESEMENY, esemeny.KEZDES, esemeny.VEGE, tipus.LEIRAS
FROM esemeny,tipus
WHERE (esemeny.TIPUS = tipus.ID AND DATE(KEZDES)='".$ev."-".$ho."-".$nap."')";
<head><title>Naptár- Műszaki Térinformatika Szakmérnöki képzés: A WEB programozása</title></head><body><p><font face="Arial">A napi programok:</p><table width="800" cellpadding="0" cellspacing="0" align="center"><tr bgcolor="#CCCCCC" align="center"><td width="200">Program</td><td width="200">Kezdés</td><td width="200">Vége</td><td width="200">Típus</td></tr>
//Kapcsolódáshoz szükséges adatok$username="root";$password="ujjelszo";$hostname="localhost";//Adatbázis kapcsolódás$dbkapcsolodas=mysql_connect($hostname, $username, $password)
or die ("Nem tudok csatlakozni a MySQL adatbázishoz");//Adatbázis kiválasztása$adatbazis=mysql_select_db("naptar",$dbkapcsolodas)
or die ("Nem tudom kiválasztani a naptar adatbázist");//Karakterkódolás átállítása$lekerdez = mysql_query("SET CHARACTER SET latin2");$lekerdez = mysql_query("SET NAMES latin2");
PHP szkript írása a napi programok leválogatására
$lekerdez = mysql_query($querystring);while ($rekordok = mysql_fetch_array($lekerdez, MYSQL_ASSOC))
{echo "<tr>";echo "<td align=\"center\">".$rekordok{'ESEMENY'}."</td>";echo "<td align=\"center\">".$rekordok{'KEZDES'}."</td>";echo "<td align=\"center\">".$rekordok{'VEGE'}."</td>";echo "<td align=\"center\">".$rekordok{'LEIRAS'}."</td>";echo "</tr>";}
//Adatbáziskapcsolat lezárásamysql_close($dbkapcsolodas);?>
PHP szkript írása a napi programok leválogatására
</table></body>
Próbáljuk ki a szkriptet!
Próbáljuk ki a szkriptet!
Önálló feladat:
Oldjuk meg a programok törlésének lehetőségét!
A napi programok nézetben szerepeljen a táblázatban egy törlésre szolgáló link.
A link megjelenítéséhez használjuk a torles.jpg ikont!