Obiektowe bazy danych Wykład 7 Paweł Gmys
Interfejs uŝytkownika C++ JAVA PERL PHP 2006-05-14 Paweł Gmys wykład 8 2
Czym są skrypty PHP? Programy umieszczane w treści stron WWW. Wykonywane przez serwer przed wysłaniem strony do uŝytkownika 2006-05-14 Paweł Gmys wykład 8 3
Jak umieścić skrypt na stronie 1. <? (treść skryptu)?> 2. <?php (treść skryptu)?> 3. <script language="php"> (treść skryptu) </script> 4. <% (treść skryptu) %> (od wersji 3.0.4) 2006-05-14 Paweł Gmys wykład 8 4
Struktura strony <HTML> <HEAD> <TITLE> tytuł strony</title> </HEAD> <BODY> Treść strony, takŝe skrypty </BODY> </HTML> 2006-05-14 Paweł Gmys wykład 8 5
Najprostszy skrypt <?PHP echo("to jest prosty skrypt PHP");?> 2006-05-14 Paweł Gmys wykład 8 6
Komentarze Komentarz to wstawiany w skrypcie kawałek tekstu który jest po prostu ignorowany. Komentarze w skryptach PHP są oznaczane tak jak w języku C (/* i */ lub jednoliniowe //) 2006-05-14 Paweł Gmys wykład 8 7
Wykorzystanie zmiennych Nazwy zmiennych zawsze zaczynają się od znaku $. $a=7; $b="jakiś tekst"; $c=2.654; $d=0.0 2006-05-14 Paweł Gmys wykład 8 8
Typy zmiennych PHP integer - liczba całkowita double - liczba rzeczywista string - tekst array - tablica object - złoŝone zmienne definiowane przez uŝytkownika pdfdoc (Tylko przy włączonej obsłudze dokumentów PDF) pdfinfo (Tylko przy włączonej obsłudze dokumentów PDF) 2006-05-14 Paweł Gmys wykład 8 9
Operatory Jednoargumentowy Addytywne Multiplikatywne Relacji 2006-05-14 Paweł Gmys wykład 8 10
FUNKCJE 1. Wbudowane (manual PHP) 2. UŜytkownika Function f($a, $b) { $a+=$b; echo($a); } 2006-05-14 Paweł Gmys wykład 8 11
Zwracanie wartości Funkcja moŝe zwrócić wartość. uŝywa się do tego polecenia return: Function f($p) { return 3*$p; } 2006-05-14 Paweł Gmys wykład 8 12
Instrukcja warunkowa if/else if($a>$b) echo("$a jest większe od $b"); if($a>$b) echo("$a jest większe od $b"); else echo("$a jest mniejsze lub równe $b"); 2006-05-14 Paweł Gmys wykład 8 13
Operatory logiczne - alternatywa (lub) && - koniunkcja (i)! - negacja (zaprzeczenie) 2006-05-14 Paweł Gmys wykład 8 14
Pętla while $a=0; while($a<5) { echo("$a "); $a++; } 2006-05-14 Paweł Gmys wykład 8 15
Pętla do..while $a=0; do { echo("$a "); $a++; }while($a<5); 2006-05-14 Paweł Gmys wykład 8 16
Pętla do..while róŝni się od pętli while tym, Ŝe najpierw wykonuje się pętla, a dopiero potem sprawdzany jest warunek. Oznacza to, Ŝe pętla zawsze wykona się co najmniej 1 raz. 2006-05-14 Paweł Gmys wykład 8 17
Pętla for for($a=0;$a<5;$a++) { echo("$a "); } 2006-05-14 Paweł Gmys wykład 8 18
Instrukcje break i continue Wykonanie pętli moŝna w kaŝdym momencie zakończyć. SłuŜy do tego instrukcja break: $a=0; while($a<10) { $a++; if($a==3) break; } 2006-05-14 Paweł Gmys wykład 8 19
Continue $a=0; while($a<10) { $a++; if($a==3) continue; echo("aaa"); /* ta instrukcja wykona się tylko gdy $a nie jest równe 3 */ } 2006-05-14 Paweł Gmys wykład 8 20
Instrukcja switch switch($a) { case 1: echo("a jest równe 1"); break; case 3: echo("a jest równe 3"); break; case 11: echo("a jest równe 11"); break; } 2006-05-14 Paweł Gmys wykład 8 21
Obsługa formularzy <FORM ACTION= skrypt.php METHOD=POST> <INPUT TYPE=TEXT NAME=tekst>. </FORM> echo($tekst); /* ta linia wyświetli zawartość pola tekst z formularza */ 2006-05-14 Paweł Gmys wykład 8 22
Przykład <FORM ACTION="wynik.php" METHOD="POST" ENCTYPE="iso-8859-2, utf-8" ACCEPT-CHARSET="iso-8859-2, utf-8">wypełnij <BR> imię: <INPUT type="text" NAME="imie"> <BR> nazwisko: <INPUT type="text" NAME="nazwisko"> <BR> Hobby <BR> Aaa <INPUT type="checkbox" NAME="a"> <BR> Bbb <INPUT type="checkbox" NAME="b"> <BR> Ccc <INPUT type="checkbox" NAME="c"> <BR> <INPUT type="submit" VALUE="wy lij"> </FORM> 2006-05-14 Paweł Gmys wykład 8 23
Strona WWW Formularz.html - tylko strona 2006-05-14 Paweł Gmys wykład 8 24
Funkcje PHP - MySQL mysql_connect ("localhost", "root", "") mysql_select_db ( baza") $wynik = mysql_query ("SELECT * FROM dane;") 2006-05-14 Paweł Gmys wykład 8 25
if ($imie && $nazwisko && $telefon) { } Dodawanie rekordu $query = "INSERT INTO tabela (nr, imie, nazwisko, "; $query.= "telefon) VALUES ('', '$imie', '$nazwisko', '$telefon');"; $wynik = mysql_query ($query); 2006-05-14 Paweł Gmys wykład 8 26
Poprawianie rekordu if ($imie && $nazwisko && $telefon) { } $query = "UPDATE tabela SET imie='$imie', nazwisko="; $query.= "'$nazwisko', telefon='$telefon' WHERE nr='$id';"; $wynik = mysql_query ($query); 2006-05-14 Paweł Gmys wykład 8 27
Formularze <INPUT type="text"> <INPUT type="textarea"> <INPUT type="password" ALIGN=""> <INPUT type="hidden"> <INPUT type="checkbox" ALIGN=""> <INPUT type="radio" ALIGN=""> <INPUT type="file" ALIGN=""> <INPUT type="button" ALIGN=""> <INPUT type="reset" ALIGN=""> <INPUT type="submit" ALIGN=""> <INPUT type="image" ALIGN=""> 2006-05-14 Paweł Gmys wykład 8 28
Atrybuty Name Value 2006-05-14 Paweł Gmys wykład 8 29
Zdarzenia Onclick OnMouseMove OnFocus 2006-05-14 Paweł Gmys wykład 8 30
PHP - MySQL http://localhost/moje/4-29.php..\..\..\..\apache\htdocs\moje\4-26.php 2006-05-14 Paweł Gmys wykład 8 31
Projekt Baza danych Interfejs w postaci strony WWW Wyszukiwanie Dopisywanie Poprawianie Kasowanie 2006-05-14 Paweł Gmys wykład 8 32
UŜytkownicy Administrator bazy UŜytkownicy bazy (tylko przegląd danych) 2006-05-14 Paweł Gmys wykład 8 33
Tematy Dziennik klasowy Dane osobowe Biblioteka 2006-05-14 Paweł Gmys wykład 8 34
Wyszukiwanie Według dwóch róŝnych pól (or, and) W zaleŝności od uŝytkownika 2006-05-14 Paweł Gmys wykład 8 35
Ćwiczenia Wyświetlenie danych (wszystkich) z dowolnej bazy. Utworzenie dwóch róŝnych uŝytkowników bazy. Strona w zaleŝności od uŝytkownika 2006-05-14 Paweł Gmys wykład 8 36