a web programozása 5. előadás php szkriptek alkalmazása a webes adatbázis kezelésére

18
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

Upload: avian

Post on 19-Mar-2016

33 views

Category:

Documents


4 download

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 Presentation

TRANSCRIPT

Page 1: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére

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

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

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

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

Index.php

Page 6: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére

Index.php

Page 7: A Web programozása 5. előadás PHP szkriptek alkalmazása a webes adatbázis kezelésére

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

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

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

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

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

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

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

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

//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

$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

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

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!