Előadásanyag PPT formátumban - BME Általános és Felsőgeodézia

Download Report

Transcript Előadásanyag PPT formátumban - BME Általános és Felsőgeodézia

A Web programozása
4. előadás
MySQL adatbáziskezelő telepítése, phpMyAdmin kezelőfelület telepítése és
megismerése, mintaadatbázis létrehozása
Rózsa Szabolcs
BME Általános- és Felsőgeodézia Tanszék
Tartalom
• Űrlapok szerkezete és létrehozása
• Az adatbeviteli eszközök
• Adatátvitel módja (POST, GET)
• Űrlapok adatainak kezelése PHP-ben
MySQL telepítése
MySQL telepítése
MySQL telepítése
MySQL telepítése
Általában célszerűbb szolgáltatásként telepíteni
MySQL telepítése
MySQL indítása parancssorból
A root password beállítása
Command prompt:
mysql –u root -p
A default root password egy üres string
mysql> use mysql
Válasszuk ki a mysql adatbázist
mysql> select User, Password from user where User=‘root’;
Nézzük meg a root felhasználó jelszavait.
Miért kaptunk három rekordot válaszként?
mysql> select Host, User, Password from user where User=‘root’;
Vegyük észre, hogy az adatbázis
jogosultságok
a hostVegyük észre, függ(het)nek
hogy az adatbázis
tól
is!
jogosultságok
függ(het)nek a hosttól is!
Állítsuk be a ‘root’ felhasználó jelszavát:
phpMyAdmin telepítése
-Töltsük le, majd tömörítsük ki az állományt
- másoljuk be a teljes phpMyAdmin könyvtárat a webterület
(e:\webprog\htdocs) alá
- nevezzük át a könyvtárat valamilyen egyszerűbb névre (pl. myadmin)
- nyissuk meg a böngészőben a http://localhost/myadmin/index.php
oldalt
phpMyAdmin
phpMyAdmin
Hozzunk létre egy új adatbázist!
Új adatbázis létrehozása
Hozzunk létre egy új táblát az adatbázisban!
Hozzunk létre mezőket az új táblában
A tábla szerkezete
Helyezzünk el adatokat a táblában!
Kérdezzük le a 2011-03-22 nap eseményeit!
Hozzuk létre a típus táblát!
Latin-2 Hungarian
Töltsük fel az alábbi adatokkal
ID
LEIRAS
1
Tárgyalás
2
Telefonhívás
3
Emlékeztető
4
Születésnap
INSERT INTO tipus (LEIRAS) VALUES ('Tárgyalás');
INSERT INTO tipus (LEIRAS) VALUES (‘Telefonhívás');
INSERT INTO tipus (LEIRAS) VALUES (‘Emlékeztető');
INSERT INTO tipus (LEIRAS) VALUES (‘Születésnap');
Az ORDER BY opció használata lekérdezésekben
SELECT * FROM tipus ORDER BY LEIRAS ASC;
Táblák összekapcsolása
SELECT esemeny.ESEMENY, esemeny.KEZDES, esemeny.VEGE, tipus.LEIRAS
FROM esemeny,tipus
WHERE (esemeny.TIPUS = tipus.ID)
ORDER BY esemeny.KEZDES ASC;
SELECT * FROM esemeny INNER JOIN tipus ON esemeny.TIPUS=tipus.ID;
esemeny
tábla
tipus
tábla
MySQL adatbáziskezelés PHP-ből
Az előző órán használt adatbeviteli űrlapon az események típusát adatbázisból
kérdezzük le:
MySQL adatbáziskezelés PHP-ből
Lépések:
1. Csatlakozás az adatbázishoz
2. A lekérdezéshez szükséges SQL utasítás kialakítása, ellenőrzése
phpMyAdmin-ból.
3. PHP forráskód:
1.
2.
3.
4.
Csatlakozás az adatbázishoz
Lekérdezés indítása
Válaszrekordok kezelése
Az űrlap választógombjainak feltöltése PHP-ből
MySQL adatbáziskezelés PHP-ből
<?php
$username="root";
Kapcsolódási információk
$password="ujjelszo";
Kapcsolódás az adatbázis-szerverhez
$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");
$lekerdez = mysql_query("SELECT * FROM tipus ORDER BY LEIRAS ASC");
while ($rekordok = mysql_fetch_array($lekerdez, MYSQL_ASSOC))
{
echo "<p><font face=\"Arial\">";
echo "<input type=\"radio\" name=\"Tipus\" value=\"".$rekordok{'ID'}.
"\">".$rekordok{'LEIRAS'}."</font></p>";
}
mysql_close($dbkapcsolodas);
?>
További eseménytípusok hozzáadása
Adatbázis adminisztrátorként adjunk hozzá az adatbázishoz további
eseménytípusokat:
ID
LEIRAS
5
Házassági évforduló
6
Előadás
7
Szórakozás
8
Hivatali ügyintézés
INSERT INTO tipus (LEIRAS) VALUES (‘Házassági évforduló');
INSERT INTO tipus (LEIRAS) VALUES (‘Előadás');
INSERT INTO tipus (LEIRAS) VALUES (‘Szórakozás');
INSERT INTO tipus (LEIRAS) VALUES (‘Hivatali ügyintézés');
További eseménytípusok hozzáadása
Nézzük meg az adatbázisban történő változások hatását az űrlapon:
Az új lehetőségek újabb PHP
kódfejlesztés nélkül megjelentek az
űrlapon!
Lépjünk tovább! Dolgozzuk fel az űrlap adatait!
//A típusok értelmezéséhez lekérdezzük az adatbázisban szereplő típusazonosítókat és leírásoka
//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");
//Lekérdezés a 'naptar' adatbázis 'tipus' táblájából
$lekerdez = mysql_query("SELECT * FROM tipus ORDER BY LEIRAS ASC");
while ($rekordok = mysql_fetch_array($lekerdez, MYSQL_ASSOC))
{
if ($Tipus == $rekordok{'ID'})
echo "<td>A program típusa</td><td>".$rekordok{'LEIRAS'}."</td></tr>";
}
//Adatbáziskapcsolat lezárása
mysql_close($dbkapcsolodas);
Lépjünk tovább! Dolgozzuk fel az űrlap adatait!
http://localhost/eloadas04/form.php
http://localhost/eloadas04/
processform.php
Lépjünk tovább! Mentsük el az adatokat az adatbázisban!
<?php
//A program címének kiíratása
$program=$_POST['program'];
echo "<td>A program címe:</td><td>".$program."</td></tr>";
//A program kezdésének meghatározása
$kezdev=$_POST['kezdev'];
$kezdho=$_POST['kezdho'];
$kezdnap=$_POST['kezdnap'];
$kezdora=$_POST['kezdora'];
$kezdperc=$_POST['kezdperc'];
$kezdes=$kezdev."-".$kezdho."-".$kezdnap." ".$kezdora.":".$kezdperc;
echo "<tr><td>A program kezdete:</td><td>".$kezdes."</td></tr>";
//A program végének meghatározása
$befev=$_POST['befev'];
$befho=$_POST['befho'];
$befnap=$_POST['befnap'];
$befora=$_POST['befora'];
$befperc=$_POST['befperc'];
$vege=$befev."-".$befho."-".$befnap." ".$befora.":".$befperc;
echo "<tr><td>A program vege:</td><td>".$vege."</td></tr>";
Lépjünk tovább! Mentsük el az adatokat az adatbázisban!
//A program típusa
$Tipus=$_POST['Tipus'];
echo "<tr><td>A program típusa:</td><td>".$Tipus."</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");
//Lekérdezés a 'naptar' adatbázis 'tipus' táblájából
$lekerdezes_string = "INSERT INTO esemeny (ESEMENY,KEZDES,VEGE,TIPUS) VALUES
('".$program."','".$kezdes."','".$vege."','".$Tipus."')";
mysql_query($lekerdezes_string);
//Adatbáziskapcsolat lezárása
mysql_close($dbkapcsolodas);
?>
Lépjünk tovább! Mentsük el az adatokat az adatbázisban!
Az eredmény a MySQL adatbázisban: