Bazy danych i strony WWW

Slides:



Advertisements
Podobne prezentacje
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Advertisements

SQL – Strukturalny język zapytań
Wprowadzenie do języka skryptowego PHP
Język SQL Część II.
MS Access 2000 Relacje Piotr Górczyński 2005.
Podstawowe wiadomości
WPROWADZENIE DO BAZ DANYCH
MS Access 2003 Kwerendy Paweł Górczyński.
25/08/ Bazy danych II Piotr Górczyński MS Access – Action Query.
20/09/ Języki programowania 1 Piotr Górczyński Kreator form.
PHP vs. ASP PHP – lider wydajności wśród języków skryptowych.
Systemy zarządzania treścią CMS
PHP wprowadzenie.
Język SQL (Structured Query Language) DDL (Data Definition Language)
SQL – Structured Query Language (3)
MySQL – ODBC - ACCESS.
PRACA DYPLOMOWA INŻYNIERSKA
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Podyplomowe Studium Programowania i Zastosowań Komputerów Praca wykonana.
Dokumentacja do obsługi PWI (nowa wersja aplikacji)
Instrukcje: CREATE, INSERT, UPDATE, DELETE, DROP
dr hab. Ryszard Walkowiak prof. nadzw.
CDN OPT!MA integracja z Systemem Microsoft Office 2003.
Wprowadzenie do HTML, CSS, JavaScript, PHP
ANNA BANIEWSKA SYLWIA FILUŚ
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Podyplomowe Studium Programowania i Zastosowań Komputerów Marcin Hankiewicz.
Strona internetowa pralni chemicznej
Technologie internetowe II
SQL - Structured Query Language
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Fizyki, Astronomii i Informatyki Stosowanej Podyplomowe Studium Programowania i Zastosowań Komputerów.
Temat 2: Edytory HTML.
Komendy SQL do pracy z tabelami i bazami
MICROSOFT Access TWORZENIE MAKR
Temat 12: Formularze.
PL/SQL – dalsza wędrówka
Projektowanie stron WWW
SQL – część II.
Aplikacje internetowe
W W W Łukasz Stochniał.
Nieograniczone źródło informacji
Projektowanie Aplikacji Internetowych
HTML Czyli Publikowanie w Internecie. Przeglądarka internetowa –Mosaic - pierwsza –Netscape –Internet Explorer –Opera –Mozilla Dokument HTML –Dokument.
Visual Basic w Excelu - podstawy
Temat 1: Ogólne cechy języka PHP
HTML (ang. HyperText Markup Language ) – język do tworzenia stron internetowych opierający się na znacznikach, czy inaczej je nazywając – tagach. Język.
Autor: Damian Urbańczyk
Projekt z Technologii Internetowych
Treści multimedialne - kodowanie, przetwarzanie, prezentacjaOdtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Portal edukacyjny A.Ś. FORMULARZE W JĘZYKU HTML. Portal edukacyjny A.Ś. Obiekty umieszczane na stronach www Teksty Obrazy Odnośniki Tabele Ramki pływające.
Temat 1: CSS Dołączanie stylów do dokumentu
Podstawy języka skryptów
Opracowanie mgr Karol Adamczyk
Temat 5: Instrukcje: print(), echo()
Jak wykonać prosty licznik odwiedzin strony internetowej?
Komendy SQL do pracy z danymi
PHP. PHP obiektowy, skryptowy język programowania zaprojektowany do generowania stron internetowych w czasie rzeczywistym.
Projektowanie postaci formularza:
BAZY DANYCH MS Access.
Temat nr 5 Struktura strony www _________________________________________________________________________________________________________________ [ Przedmiot:
Portal edukacyjny J A V A S C R I P T JĘZYK PROGRAMOWANIA STRON HTML Opracowała: Anna Śmigielska.
Współpraca PHP i MySQL Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z danych zapisanych na serwerze jest współpraca z relacyjna.
Aplikacje internetowe XML Paweł Lenkiewicz. Aplikacje internetowe – XML2 eXtensible Markup Language Uniwersalny język opisu danych Często używany we współpracy.
Podstawowe zadania w programie Excel 2010 Klasa 2 TOR.
ASP.NET Kontrolki źródła danych i prezentacji danych w ASP.Net
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
HTML.  Wprowadzenie  Protokół HTTP  Język HTML  Definicja typu dokumentu  Nagłówek strony  Formatowanie treści dokumentu  Definiowanie struktury.
HTML + CSS = strony internetowe Krzysztof Geras. FAKTY I MITY Czym nie jest HTML: ● programem do tworzenia stron internetowych, ● interpreterem skryptów.
Strukturalny język zapytań SQL - historia
Zapis prezentacji:

Bazy danych i strony WWW

Obsługa baz danych poprzez strony WWW Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy (parser) wyposażony w możliwości współpracy z systemem zarządzania bazą danych

MySQL MySQL jest relacyjnym systemem zarządzania bazami danych klasy Open Source stworzony i rozwijany przez firmę MySQL AB http://www.mysql.com/) MySQL jest serwerem baz danych - pozwala korzystać z zasobów danych wielu użytkownikom (klientom)

MySQL monitor

Apache Najpowszechniej stosowany serwer stron WWW Zarządza plikami, kieruje je do przeglądarek i parserów Zarządza klientami i ich uprawnieniami

PHP PHP (akronim rekursywny "PHP: Hypertext Preprocessor"), jest szeroko używanym językiem skryptowym ogólnego zastosowania, tworzonym na zasadach Open Source, dopasowanym do potrzeb aplikacji WWW, z możliwością zagnieżdżania w HTML

PHP PHP jest rozwijane pod kątem pisania skryptów server-side PHP potrafi odbierać dane z formularzy, generować dynamicznie zawartość strony, odbierać i wysyłać ciasteczka

PHP PHP jest parserem czyli analizatorem składni, który analizuje podany w źródle tekst i w oparciu o niego tworzy kod programowy w konkretnym języku (w tym przypadku HTML)

HTML i XHTML http://kurshtml.boo.pl/ XHTML to skrót od Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania. Reformuje on zasady języka HTML 4 w taki sposób, aby były zgodne z XML (Extensible Markup Language - Rozszerzalny Język Oznaczania)

Struktura dokumentu XHTML

Edytowanie i przeglądanie dokumentów HTML Dokumenty HTML mogą być edytowane przez proste edytory tekstowe lub tzw. edytory znaczników np. ezHTML Zaawansowane edytory tekstowe np. Word widzą dokumenty HTML tak jak przeglądarki Przeglądarki internetowe pokazują dokumenty HTML także w trybie off line

Word

Notatnik

ezHTML

przeglądarka w trybie off line przeglądarka za pośrednictwem serwera stron www

Style CSS - Cascading Style Sheets (z ang. Kaskadowe Arkusze Stylów) język opracowany w celu stworzenia możliwości bardziej elastycznego zarządzania sposobem formatowania (wyglądem) elementów znajdujących się w dokumentach elektronicznych CSS nie może istnieć samodzielnie, gdyż jest ściśle powiązane z językiem opisu struktury dokumentów takim jak (X)HTML Style formatujące są wbudowane w praktycznie każdy bardziej zaawansowany edytor tekstu np. MS Word i Open Office

Style i znaczniki

Formularze Formularz w HTML stwarza użytkownikowi (klientowi) możliwość wprowadzania informacji do systemu i przekazywania ich dalej Formularz uruchamia akcję zapisaną jako argument parametru „action”

Akcje formularza Akcje uruchamiane przez formularz są obsługiwane przez przeglądarkę Jedną z możliwych akcji jest wysłanie wiadomości pocztowej

Obsługa programowa akcji Użytkownik może sam definiować akcje Do definiowania akcji wykonywanych przez przeglądarkę klienta służyć mogą skrypty wykonywane po stronie klienta (np.: JavaScript lub Visual Basic - VBScript) Mogą być one wykonywane przed wysłaniem strony ale nie potrafią zapamiętywać danych

JavaScript

Akcje po stronie serwera Przetwarzanie danych przesłanych przez klienta jest możliwe dzięki skryptom wykonywanym po stronie serwera (np. PHP i CGI) Argumentem action znacznika form jest wtedy adres dokumentu zawierającego odpowiedni skrypt Argument method określa sposób przesyłania danych

Przykład Przeglądarka WWW żąda dokumentu: dodawacz.html

po naciśnięciu przycisku „Dodaj” otwierany jest dokument „Dodaj.php”

Akcja po stronie serwera Serwer WWW rozpoznaje rozszerzenie (.php) i kieruje dokument do parsera PHP Parser interpretuje kod poczynając od symbolu <? i kończąc na znakach ?>

Akcja po stronie serwera Parser wykonuje kod, a uzyskane wyniki umieszcza w pliku w miejscu uprzednio zajmowanym przez polecenia print lub echo

Powrót do klienta Nowy plik jest przesyłany do serwera WWW Serwer przesyła plik do przeglądarki Przeglądarka interpretuje kod HTML i wyświetla wyniki

Formularze - pole opcji

Formularze - pole opcji

Skrypt PHP i wynik jego działania

Widok z przeglądarki

Formularze – pole wyboru

Formularze – pole wyboru

Skrypt PHP i wynik jego działania

Widok z przeglądarki

Formularze – lista rozwijalna

Formularze – lista rozwijalna

Skrypt PHP i wynik jego działania

Widok z przeglądarki

PHP i baza danych

Efekt działania skryptu

Pobieranie danych z bazy

Efekt działania skryptu

Internetowy system sprzedaży Zamówienia składane są poprzez stronę WWW Przedmiotem sprzedaży są rury stalowe i złączki do rur System umożliwia przyjmowanie i edycję zamówień Efektem działania systemu są zestawienia ilości zamówionych produktów

Diagram ERD (baza danych Sprzedaż)

Tworzenie tabeli JednostkiMiary Create table sprzedaz.jednostkimiary ( IdJednostki Int(11) NOT NULL AUTO_INCREMENT, JednostkaMiary Char(20), UNIQUE (JednostkaMiary), Primary Key (IdJednostki)) ENGINE = MyISAM ROW_FORMAT = Fixed;

Tworzenie tabeli Klient Create table sprzedaz.Klient ( IdKlienta Int(11) NOT NULL AUTO_INCREMENT, NazwaKlienta Char(50), Adres Char(50), Primary Key (IdKlienta)) ENGINE = MyISAM ROW_FORMAT = Fixed;

Tworzenie tabeli Towary Create table sprzedaz.Towary ( IdTowaru Int(11) NOT NULL AUTO_INCREMENT, NazwaTowaru Char(50), Primary Key (IdTowaru)) ENGINE = MyISAM ROW_FORMAT = Fixed;

Tworzenie tabeli Zamowienie Create table sprzedaz.Zamowienie ( IdKlienta Int NOT NULL, IdZamowienia Int(11) NOT NULL AUTO_INCREMENT, DataZamowienia Date, NrZamowienia Char(20), Primary Key (IdZamowienia)) ENGINE = MyISAM ROW_FORMAT = Fixed;

Tworzenie tabeli Specyfikacja Create table sprzedaz.Specyfikacja ( IdTowaru Int NOT NULL, IdJednostki Int NOT NULL, IdZamowienia Int NOT NULL, Ilosc Float, Primary Key (IdTowaru,IdJednostki,IdZamowienia)) ENGINE = MyISAM ROW_FORMAT = Fixed;

Ustawianie więzów integralności Alter table sprzedaz.specyfikacja add Foreign Key (IdJednostki) references sprzedaz.jednostkimiary (IdJednostki) on delete restrict on update restrict; Alter table sprzedaz.zamowienie add Foreign Key (IdKlienta) references sprzedaz.klient (IdKlienta) on delete restrict on update restrict; Alter table sprzedaz.specyfikacja add Foreign Key (IdTowaru) references sprzedaz.towary (IdTowaru) on delete restrict on update restrict; Alter table sprzedaz.specyfikacja add Foreign Key (IdZamowienia) references sprzedaz.zamowienie (IdZamowienia) on delete restrict on update restrict;

Strona startowa Do utworzenia strony sterującej systemem wystarczy kod HTML Menu tworzymy wykorzystując znacznik listy <ul> Odpowiednie moduły uruchamiane są odnośnikiem do dokumentu <li><a href="NoweZamowienie.php">Nowe zamówienie</a></li>

Dodawanie klienta Proste dodawanie rekordu do tabeli wymaga użycia strony utworzonej w HTML Formularz utworzony kodem <FORM METHOD="post" ACTION="dodajklienta.php"> pozwala pobrać dane i przekazać je w bloku POST do dokumentu dodajklienta.php

Dodawanie klienta Dokument dodajklienta.php jest interpretowany przez parser PHP Część kodowa dokumentu wykonuje połączenie z bazą danych i realizuje polecenie SQL Dane przekazywane są ze strony dodajklienta.html jako zmienne PHP (tabela $_PHP[nazwa_pola])

sprawdzamy czy wprowadzono nazwę klienta INSERT INTO klient (NazwaKlienta, Adres) VALUES ('Fabryka wózków dziecięcych' , 'Krzeszowice ul, Krakowska 5')

Dodawanie klienta W tym samym dokumencie umieszczono kod HTML Kod HTML wyświetla wprowadzone dane i przekierowuje użytkownika do strony startowej lub strony dodawania klienta

Kontrola błędów W tabeli JednostkiMiary zdefiniowano pole JednostkaMiary jako UNIQUE Próba wprowadzenie jednostki miary, która jest już w tabeli spowoduje błąd Błąd ten identyfikowany jest funkcją mysql_error

jeśli nie wystąpił błąd czy wystąpił błąd? jeśli nie wystąpił błąd

Wprowadzanie zamówienia Plik NoweZamowienie.php składa się z części kodowej oznaczonej znacznikami <? i ?> oraz kodu HTML Pierwsza część kodu PHP pobiera listę klientów i umieszcza ją w tabeli blok_opcji_ZA za pośrednictwem tabeli wiersz

odpowiednik use sprzedaz połączenie z bazą danych na komputerze macierzystym dla użytkownika root bez hasła odpowiednik use sprzedaz

Pobieranie listy klientów Tak wyglądają kolejne realizacje wiersza $wiersz 5 Fabryka Mebli 4 Fabryka Rowerów 7 Fabryka wózków dziecięcych 1 Firma 3 Firma Kruk 6 Hurtownia Materiałów Budowlanych 2 Sklep Ogólny

Przygotowanie formularza Kod HTML powodujący wyświetlenie formularza do wprowadzania danych o nagłówku zamówienia umieszczany jest w tablicowej zmiennej tekstowej blok Do formularza włączana jest lista klientów ze zmiennej tekstowej blok_opcji_ZA

od tego momentu wszelkie zmienne definiowane przez name= będą widoczne w DodajSpecyfikacje.php jako zmienne PHP ($POST_...)

Wyświetlenie formularza Druga część pliku NoweZamówienie.php zawiera kod HTML i wstawkę PHP powodującą wyświetlenie formularza

Dopisywanie specyfikacji Polecenie submit uruchamia akcję wyzwalającą dokument DodajSpecyfikacje.php Pierwsza część kodu PHP powoduje zapisanie nowego zamówienia do bazy

pobranie identyfikatora dopisanego rekordu INSERT INTO zamowienie (IdKlienta, DataZamowienia, NrZamowienia) VALUES ('7' , '2005-04-02', '2005/876') pobranie identyfikatora dopisanego rekordu

Przygotowanie formularza Następnie do tabeli blok_opcji_TO pobierana jest lista towarów i lista jednostek miary (tabela blok_opcji_JM)

Definicja formularza W zmiennej l zapamiętujemy liczbę pozycji Formularz zostaje związany z plikiem ZatwierdzSpecyfikacje.php liczba pozycji oraz indeks wprowadzanego zamówienia zapisywane są do ukrytych zmiennych zbioru POST (Indeks i Lp)

Definicja formularza W pętli przygotowywane są kolejne wiersze formularza Na zakończenie wpisywane są instrukcje zamykające formularz

Wyświetlanie formularza Kod HTML i wstawka PHP powoduję wyświetlenie formularza

Dopisanie specyfikacji Polecenie submit przekazuje sterowanie do ZatwierdzSpecyfikacje.php W pętli dopisywane są kolejne rekordy do tablicy specyfikacja

INSERT INTO specyfikacja (IdZamowienia, IdTowaru, Ilosc, IdJednostki) VALUES ('70' , '2', '150','1') ....

Zakończenie dopisywania Kod HTML dołączony do pliku ZatwierdzSpecyfikacje.php potwierdza zapisanie danych i umożliwia przejście do strony głównej lub do kolejnego zamówienia

Zestawianie zamówionych towarów Plik ZestawienieTowarow.html zawiera kod HTML otwierający formularz do określenia zakreus czasowego zestwienia

Zestawianie zamówionych towarów Plik Zestawienie.php zawiera kod PHP realizujący zapytanie oparte na tabelach: zamowienie, specyfikacja, JednostkiMiary i towary

Tak wygląda zapytanie SELECT zamowienie.datazamowienia, Towary.NazwaTowaru, SUM( Specyfikacja.Ilosc ) AS Suma, JednostkiMiary.JednostkaMiary FROM zamowienie INNER JOIN ( Towary INNER JOIN (JednostkiMiary INNER JOIN Specyfikacja ON JednostkiMiary.IdJednostki = Specyfikacja.IdJednostki ) ON Towary.IdTowaru = Specyfikacja.IdTowaru ) ON zamowienie.IdZamowienia = Specyfikacja.IdZamowienia GROUP BY Towary.NazwaTowaru, JednostkiMiary.JednostkaMiary HAVING zamowienie.dataZamowienia >= 2005-03-01 AND dayofyear(zamowienie.dataZamowienia)<=dayofyear('2005-03-31') AND year(zamowienie.dataZamowienia)<=year('2005-03-31') ORDER BY Towary.NazwaTowaru

Przygotowanie listy W pętli wykonywanej dopóty dopóki zwracane są niepuste wiersze ze złączenia przygotowywane są kolejne linie zestawienia Kolejne linie umieszczane są w tabeli formularza

Wyświetlanie zestawienia Dołączony do pliku Zestawienie.php kod HTML wraz ze wstawkami PHP powoduje wyświetlenie formularza i umożliwia powrót do strony głównej

Edycja specyfikacji zamówienia Plik EdycjaZamowienia.php przygotowuje formularz do wyboru zamówienia Lista zamówień przenoszona jest do tablicy blok_opcji_ZA

Wyświetlanie listy zamówień Dołączony do pliku EdycjaZamowienia.php kod HTML oraz wstawki PHP powodują wyświetlenie listy do wyboru zamówienia

Przygotowanie do edycji specyfikacji W pliku Edycja.php przygotowuje się listy opcji do wyświetlania towarów i jednostek miar Pobrane z odpowiednich tablic wiersze przechowywane są w tablicach IdT[], TW[], IdJ[] i JK[]

liczba zwróconych wierszy

Przygotowanie formularza Dane opisujące specyfikację pobierane są z tabel Specyfikacja, Towary i JednostkiMiary Identyfikator zamówienia i liczba pozycji w specyfikacji są pamiętane jako zmienne ukryte typu POST (Indeks i Lp)

SELECT Specyfikacja. IdZamowienia, Towary. IdTowaru, JednostkiMiary SELECT Specyfikacja.IdZamowienia, Towary.IdTowaru, JednostkiMiary.IdJednostki, Towary.NazwaTowaru, Specyfikacja.Ilosc, JednostkiMiary.JednostkaMiary FROM Towary INNER JOIN (JednostkiMiary INNER JOIN Specyfikacja ON JednostkiMiary.IdJednostki = Specyfikacja.IdJednostki) ON Towary.IdTowaru = Specyfikacja.IdTowaru WHERE Specyfikacja.IdZamowienia = 70

Przygotowanie formularza W pętli pobierane są kolejne wiersze specyfikacji Dla każdego wiersza ustalana jest lista opcji do wyboru towaru i jednostki miary Lista ta ustawiana jest na pozycji odpowiadającej wcześniejszemu wyborowi Zmienna cb będzie rejestrować żądanie usunięcia rekordu

indeks wiersza w specyfikacji cb0 cb1 cb2 cb3 indeks wiersza w liście towarów indeks wiersza w liście jedn. miary

Przygotowanie formularza Przygotowane są listy wyboru towarów i jednostek miar oraz zmienna do wprowadzania ilości przyjmująca dotychczasową wartość Dołączane jest pole kontrolne (checkbox) do rejestrowania żądań usunięcia rekordu

Wyświetlanie formularza Dołączony do pliku Edycja.php kod HTML oraz wstawki PHP powodują wyświetlenie formularza edycji specyfikacji

Zatwierdzanie poprawek Plik ZatwierdzEdycje.php zawiera kod służący do usunięcia pierwotnych zapisów oraz wprowadzenia nowych Zapisywane są tylko te wiersze, dla których zmienna tworzona przez pole kontrolne nie jest ustawiona (jej wartość jest różna od on)

DELETE FROM specyfikacja WHERE IdZamowienia='70' INSERT INTO specyfikacja (IdZamowienia, IdTowaru, Ilosc, IdJednostki) VALUES ('70' , '1', '250','1') INSERT INTO specyfikacja .......

Wyświetlanie potwierdzenia Dołączony do pliku ZatwierdzEdycje.php kod HTML oraz wstawki PHP powodują wyświetlenie potwierdzenia zmian i umożliwia przejście do kolejnego zamówienia lub do strony głównej

Przeglądanie zamówienia Poprawione zamówienie można przeglądać dzięki opcji Przeglądanie zamówień

Funkcje MySQL w PHP mysql_affected_rows -- Zwraca ilość wierszy przetworzonych w poprzedniej operacji MySQL mysql_change_user --  Zmienia użytkownika zalogowanego w aktywnym połączeniu mysql_close -- Zamyka połączenie z serwerem MySQL mysql_connect -- Otwiera połączenie z serwerem MySQL mysql_create_db -- Tworzy bazę MySQL mysql_data_seek -- Przesuwa wewnętrzny wskaźnik wyniku mysql_db_name -- Pobiera dane wynikowe mysql_db_query -- Wysyła zapytanie do bazy MySQL mysql_drop_db -- Usuwa bazę MySQL mysql_errno --  Zwraca numer komunikatu błędu z ostatniej operacji MySQL

Funkcje MySQL w PHP mysql_error --  Zwraca tekst komunikatu błędu z ostatniej operacji MySQL mysql_escape_string --  Dodaje znaki unikowe na użytek mysql_query mysql_fetch_array --  Zapisuje wiersz wyniku w tablicy asocjacyjnej, numerycznej lub w obu mysql_fetch_assoc --  Zapisuje wiersz wyniku w tablicy asocjacyjnej mysql_fetch_field --  Pobiera z wyniku informacje o kolumnie i zwraca jako obiekt mysql_fetch_lengths --  Pobiera długość każdego pola w wierszu wyniku