Autor: Joanna Karwowska

Podobne dokumenty
5. Współpraca z bazą danych MySQL

Wykład 5: PHP: praca z bazą danych MySQL

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

Instalacja MySQL.

Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Internetowe bazy danych

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Podstawy technologii WWW

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

6. Bezpieczeństwo przy współpracy z bazami danych

Ref. 7 - Język SQL - polecenia DDL i DML

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

CREATE USER

Struktura drzewa w MySQL. Michał Tyszczenko

Tworzenie serwisów WWW. Pierwsza pomoc

Obiektowe bazy danych

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Zajęcia 13 wykorzystanie MySQL w PHP cz. 2

Projektowani Systemów Inf.

Aplikacje WWW - laboratorium

SQL (ang. Structured Query Language)

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Bazy danych. Polecenia SQL

Projektowanie systemów baz danych

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

5. Bazy danych Base Okno bazy danych

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy

Podstawy programowania III WYKŁAD 2

PHP + MySQL w laboratorium (1)

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Zagadnienia. Konstrukcja bibliotek mysql i mysqli w PHP. Dynamiczne generowanie stron. Połączenie, zapytanie i sesja

Wykład 8. SQL praca z tabelami 5

Oracle Application Express

Materiały do laboratorium MS ACCESS BASIC

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech

2017/2018 WGGiOS AGH. LibreOffice Base

Podstawy programowania (PHP/Java)

Język SQL, zajęcia nr 1

Wykład 5. SQL praca z tabelami 2

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA

Dokumentacja programu. Zoz. Uzupełnianie kodów terytorialnych w danych osobowych związanych z deklaracjami POZ. Wersja

Aplikacje WWW - laboratorium

Dodawanie i modyfikacja atrybutów zbioru

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

I. Interfejs użytkownika.

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować:

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Dokumentacja interfejsu MySQL. Platforma BSMS.PL Instrukcja podłączenia po przez mysql

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Zajęcia 11 wykorzystanie MySQL w PHP

Sprzeg podstawowy do baz danych w PHP Mateusz Sowa, 2007

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Część VII Baza danych MySQL i PHP

Relacyjne bazy danych. Podstawy SQL

Wykład 05 Bazy danych

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

UONET+ moduł Dziennik. Praca z rozkładami materiału nauczania

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

Bazy danych w PHP dla początkujących

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Ćwiczenie zapytań języka bazy danych PostgreSQL

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

Nazwa kwalifikacji: Tworzenie aplikacji internetowych i baz danych oraz administrowanie bazami Oznaczenie kwalifikacji: E.14 Numer zadania: 01

Nazwa kwalifikacji: Tworzenie aplikacji internetowych i baz danych oraz administrowanie bazami Oznaczenie kwalifikacji: E.14 Numer zadania: 02

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2016 CZĘŚĆ PRAKTYCZNA

Symfonia Produkcja. Kreator raportów. Wersja 2013

Wykład 6: PHP: praca z bazą danych MySQL, cz.2

Wykład II. dr Artur Bartoszewski Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Dodawanie operacji dodatkowych w WAPRO Mag.

MySQL. Æwiczenia praktyczne

PHP: bazy danych, SQL, AJAX i JSON

UMOWY INSTRUKCJA STANOWISKOWA

Podstawowe zagadnienia z zakresu baz danych

Tworzenie raportów. Ćwiczenie 1. Utwórz Autoraport przedstawiający tabelę Studenci

1. Opis ogólny. 2. Opis techniczny. 3. Wymagania techniczne

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Autor: Joanna Karwowska

Systemy internetowe Wykład 4 mysql

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel

Przestrzenne bazy danych Podstawy języka SQL

Projekt Hurtownia, realizacja skojarzeń dostawców i produktów

Relacyjne bazy danych. Podstawy SQL

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków:

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA

Sigma Moduł dla szkół

Wprowadzenie do Doctrine ORM

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Projekt z przedmiotu Projektowanie systemów teleinformatycznych

Transkrypt:

Autor: Joanna Karwowska

Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z dużej ilości danych zapisanych na serwerze jest współpraca z relacyjną bazą danych. 2

1. Utworzyć bazę danych. 2. Zaprojektować tabele. 3. Wypełnić danymi (lub nie, jeśli chcemy pobierać dane z formularza). 4. Połączyć się z serwerem MySQL. 5. Wybrać bazę danych. 6. Wykonać zaplanowane prace (odebrać dane z formularza, przesłać zapytania związane z tworzeniem, modyfikowaniem i usuwaniem tabel). 7. Zamknąć połączenie z bazą danych. 3

Odbywa się za pomocą funkcji mysql_connect() mysql_connect(adres_serwera, nazwa_użytkownika, hasło); (adres IP lub nazwa hosta) W przypadku prawidłowego połączenia funkcja zwraca identyfikator połączenia. Jeżeli połączenie nie zostanie nawiązane, funkcja zwraca wartość FALSE. $polaczenie = mysql_connect( localhost, root, ); 4

Odbywa się za pomocą funkcji: mysql_select_db() @mysql_select_db( nazwa_bazy, $polaczenie); Umieszczenie znaku @ przed nazwą funkcji zapobiega wyświetleniu komunikatu o błędzie w wypadku, gdy baza danych nie zostanie odnaleziona. np. @mysql_select_db( osoby, $polaczenie); 5

mysql_set_charset( utf8 ); 6

Funkcją związaną z wykonaniem zapytania jest mysql_query(). Funkcja jako argument przyjmuje zmienną wskazującą na zapytanie napisane w języku obsługującym bazę. $zapytanie = select * from nazwa_tabeli ; mysql_query($zapytanie); Wynik zapytania jest najczęściej tablicą. 7

W przypadku instrukcji połączenia z bazą, wyboru bazy i wykonania zapytania warto wprowadzić dodatkową konstrukcję or die(), która w przypadku niepowodzenia pierwszej instrukcji wyprowadzi w oknie strony informację tekstową i przerwie działanie skryptu. funkcja (parametry) or die ( komunikat ); np. mysql_select_db() or die ( Błąd połączenia z bazą ); 8

Po wykonaniu pracy w bazie danych należy pamiętać o zamknięciu połączenia: mysql_close($polaczenie); 9

Funkcja mysql_fetch_row() jest najczęściej używana do czytania jednego wiersza danych. Po zwróceniu aktualnego wiersza odpowiedzi, następuje przejście do następnego. Jeżeli więc będziemy wywoływać mysql_fetch_row() w pętli, to dostaniemy tablice zawierające kolejne wiersze tabeli zwróconej przez zapytanie. W momencie dotarcia do końca tabeli, funkcja zwróci FALSE. 10

Funkcja podobna do poprzedniej, z tym, że kluczami zwracanej tablicy są nazwy kolumn z SQL-a (ewentualnie zmienione w zapytaniu). Przykład zapytania ze zmianą nazw kolumn: $w = mysql_query('select wiek AS latka, imie AS cokolwiek FROM tabela'); Tablica zwracana przez mysql_fetch_assoc() wygląda w tym przypadku tak: 'latka' => [wiek] 'cokolwiek' => [imie] Tak samo jak dla mysql_fetch_row(), po zwróceniu aktualnego wiersza odpowiedzi, następuje przejście do następnego. 11

Funkcja mysql_fetch_array zastosowana w pętli while powoduje wyświetlenie wszystkich rekordów jakie znajdują się w tabeli. np. while ($wynik = mysql_fetch_array($zapytanie)) { echo $wynik["nazwa_panstwa"]. <br /> ; } 12

Ta z kolei funkcja pozwala na dostęp do pojedynczego pola tabeli zwróconej w odpowiedzi na zapytanie. Generalnie jest ona wolniejsza od poprzednich, więc jeżeli przetwarzamy całe wiersze danych, nie jest zalecana. Zawsze lepiej jest ograniczyć zakres danych w zapytaniu do bazy, niż w samym skrypcie PHP. Dzięki temu mniej danych jest przesyłanych z bazy do skryptu, zmniejszamy też zużycie pamięci. Ograniczenie zakresu danych w skrypcie jest usprawiedliwione tylko wtedy, gdy kryterium jest na tyle skomplikowane, że trudno je zapisać w zapytaniu SQL. 13

Funkcja mysql_affected_rows() podaje ilość wierszy tablicy w bazie danych zmodyfikowanych przez zapytania takie jak UPDATE, DELETE, czy DROP. 14

1. Wyświetlanie danych z bazy (8-3.php). 2. Usuwanie danych z bazy (8z2.php). 3. Dodawanie rekordów do bazy danych (8z3.php). 4. Edycja rekordów w bazie danych (8z4.php). 5. Wyszukiwanie danych w bazie (8z4a.php). 15

Tabelę wyświetlającą dane uzupełnij o połączenie skasuj. Wywoła ono ten sam skrypt, z parametrem co, podkreślającym, że należy przeprowadzić usuwanie danych, oraz id, podającym numer rekordu do usunięcia. 16

Pod wyświetloną zawartością bazy przygotuj formularz z możliwością wpisania nowego rekordu. W ukrytym polu ustaw zmienną co (będzie określać operację, w przypadku dopisywania rekordu - dodaj). Dopisywanie jest realizowane jedynie wtedy, gdy każde z trzech pól zostanie wypełnione (nie chcesz mieć przecież niekompletnej książki telefonicznej). 17

W tabeli zawierającej wyświetlane rekordy poza połączeniem pozwalającym na usunięcie dowolnego z nich, wstaw też drugie, umożliwiające przejście do edycji rekordu. Dane (zmienne co i id) przekażesz metodą GET. Zmiennej $_GET[ co ] nadaj wartość edytuj, co będzie oznaczało, że należy wyświetlić formularz edycji rekordu. Zmienna $_GET[ co ] będzie mogła przyjąć dwie nowe wartości ( edytuj i popraw ). 18

Pierwsza z nich to edytuj. Należy odczytać z bazy danych konkretny rekord (dzięki wykorzystaniu zapytania SELECT z określonym warunkiem WHERE nr= $_GET[ id ]). Po odczytaniu danych (jednego rekordu) wyświetlasz formularz, wstawiając do pól domyślne (odczytane z bazy) wartości danych. Zmiennej $_GET[ co ] (przekazywanej dalej w polu ukrytym, czyli stającej się zmienną $_POST[ co ]) nadajesz wartość popraw. 19

Jeżeli odkryjesz, że $_POST[ co ] przybiera wartość popraw, oznacza to, że odczytałeś z formularza poprawione dane. Wykonujesz więc operację UPDATE na bazie. Musisz jej dokonać tylko na jednym rekordzie (jego numer został w poprzednim formularzu przekazany przez ukryte pole), więc korzystasz z warunku: WHERE nr= $_POST[ id ]. 20

Trzeba wprowadzić formularz, który pozwoli na wpisanie wyszukanej frazy (pole to nazwij fraza). Następnie należy przeprowadzić selekcję danych, czyli wybrać tylko te rekordy, które pasują do podanej frazy. Można to wykonać na dwa sposoby: odpowiednie skonstruowanie zapytania SELECT (a dokładniej jego sekcji WHERE) spowoduje, że zapytanie zwróci jedynie te rekordy, które pasują do szukanej frazy. metodą wyszukiwania podciągów w ciągu znaków. 21

Skorzystaj z metody wyszukiwania podciągów w ciągu znaków. W celu zbadania podobieństwa frazy z łańcuchem wykorzystaj funkcję stristr(). Wyszukuje ona wystąpienie łańcucha stanowiącego drugi argument w pierwszym, bez zwracania uwagi na wielkość znaków. Na przykład: if (!($_POST[ fraza ]) (stristr ($imie.$nazwisko, $_POST[ fraza ]))) 22

Dziękuję za uwagę! Zapraszam do wykonania ćwiczeń praktycznych! 23