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
![Page 1: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/1.jpg)
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
![Page 2: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/2.jpg)
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;
![Page 3: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/3.jpg)
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)
![Page 4: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/4.jpg)
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!
![Page 5: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/5.jpg)
Index.php
![Page 6: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/6.jpg)
Index.php
![Page 7: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/7.jpg)
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
![Page 8: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/8.jpg)
Ellenőrizzük le az adatbevitel sikerességét az adatbázisban!
![Page 9: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/9.jpg)
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.
![Page 10: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/10.jpg)
Az adatbáziskapcsolat felépítése
![Page 11: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/11.jpg)
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");
![Page 12: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/12.jpg)
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
![Page 13: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/13.jpg)
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
![Page 14: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/14.jpg)
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>
![Page 15: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/15.jpg)
//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
![Page 16: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/16.jpg)
$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>
![Page 17: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/17.jpg)
Próbáljuk ki a szkriptet!
![Page 18: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére](https://reader035.vdocuments.site/reader035/viewer/2022081517/56814bfe550346895db8fe4f/html5/thumbnails/18.jpg)
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!