Podstawy technologii WWW

Podobne dokumenty
Bazy danych. Polecenia SQL

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

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

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Autor: Joanna Karwowska

Laboratorium 7 Blog: dodawanie i edycja wpisów

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

Podstawy technologii WWW

Platforma e-learningowa

Język SQL, zajęcia nr 1

Laboratorium 6 Tworzenie bloga w Zend Framework

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

SIECI KOMPUTEROWE I BAZY DANYCH

Autor: Joanna Karwowska

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

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

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

Edytor materiału nauczania

2017/2018 WGGiOS AGH. LibreOffice Base

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

7. Formularze master-detail

E-czeki - zakładanie listy odbiorców, raport uprawnień (Bankowość Elektroniczna dla Klientów Korporacyjnych Getin Noble Bank SA)

Wprowadzenie do Doctrine ORM

2.5 Dzielenie się wiedzą

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

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

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

Podstawy technologii WWW

SIECI KOMPUTEROWE I BAZY DANYCH

Przewodnik... Tworzenie ankiet

PODSTAWOWE POJĘCIA BAZ DANYCH

PTI S1 Tabele. Tabele. Tabele

Instrukcja obsługi dla rachunków elektronicznych generowanych z programu RUMsoft

Backend Administratora

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Oracle Application Express

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

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

plansoft.org Zmiany w Plansoft.org Błyskawiczny eksport danych PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW

Ogólnopolskie Repozytorium Prac Dyplomowych

Access - Aplikacja. Tworzenie bazy danych w postaci aplikacji

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

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

SYSTEM ZARZĄDZANIA RELACJAMI Z KLIENTEM CRM7

APLIKACJA SHAREPOINT

Instalacja i obsługa aplikacji MAC Diagnoza EW

Wykład 5. SQL praca z tabelami 2

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

System imed24 Instrukcja Moduł Analizy i raporty

Podręcznik użytkownika Publikujący aplikacji Wykaz2

Tworzenie dokumentów oraz prezentacji programu Młodzi Aktywiści Prezydencji przy wykorzystaniu EduTuby

KATOWICE, LIPIEC 2018 WERSJA 1.0

Wykład 8. SQL praca z tabelami 5

Dokumentacja panelu Klienta

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

DODAJEMY TREŚĆ DO STRONY

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Podręcznik użytkownika Wprowadzający aplikacji Wykaz2

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

8. Listy wartości, dodatkowe informacje dotyczące elementów i przycisków

Instrukcja użytkownika

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3

Archiwum DG 2016 PL-SOFT

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Instalacja i obsługa aplikacji MAC Diagnoza EP w celu wykonania Diagnozy rozszerzonej

5. Bazy danych Base Okno bazy danych

Instrukcja obsługi narzędzia API

Instrukcja programu ESKUP

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Dokumentacja panelu Klienta

Praca w programie dodawanie pisma.

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej Pozwolenia wodnoprawne i zgłoszenia przydomowych oczyszczalni ścieków

Projektowanie baz danych za pomocą narzędzi CASE

INSTRUKCJA dla opiekunów SKC

Pierwsza niedogodność dotyczy strony zarządzaj działami.

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Bazy danych. dr Radosław Matusik. radmat

2.4 Planowanie i przydzielanie pracy

Nowa Netia administrator firmy Nagrywanie połączeń-zarządzanie

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

WinUcz procedura uprzedniego wywozu

,Aplikacja Okazje SMS

Podręcznik Integracji

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Bazy danych. dr inż. Arkadiusz Mirakowski

ETJ XML Edytor Tekstów Jednolitych XML

PWI Instrukcja użytkownika

Aby przejść do edycji w tym module należy wybrać zakładkę "Dla Pracowników" -> "Sprawdziany".

Raporty systemowe. Omówienie funkcjonalności. Spis treści

Leszek Stasiak Zastosowanie technologii LINQ w

Baza danych sql. 1. Wprowadzenie

Certyfikat Certum Basic ID. Instrukcja dla użytkowników Windows Vista. wersja 1.3 UNIZETO TECHNOLOGIES SA

Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Styczeń 2017 QVX. System dziekanatowy instrukcja dla. studentów. Just dream IT, we do the rest. Instrukcja do systemu dziekanatowego dla studentów.

Dokumentacja Użytkownika: Panel administracyjny PayBM

Diagnoza Szkolna Pearsona. Instrukcja obsługi

Laboratorium nr 5. Bazy danych OpenOffice Base.

Transkrypt:

Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy, jak można z tych powiązanych danych korzystać w aplikacji sieciowej. I. Utwórz bazę danych dla naszej aplikacji z blogami. 1. Utwórz bazę danych korzystając z aplikacji phpmyadmin. Nadaj jej odpowiednią nazwę (np. blogdb) i ustaw kodowanie (utf8_polish_cl). 2. Dodaj do niej następujące tabele: 1) Kategorie id (INT, UNSIGNED, PRIMARY, A.I.), nazwa (VARCHAR, 20) 2) Posty id (INT, UNSIGNED, PRIMARY, A.I.), idkategorii (INT, UNSIGNED, INDEX), tytul (VARCHAR, 100), tresc (VARCHAR, 2000), data (TIMESTAMP) 1

3) Komentarze id (INT, UNSIGNED, PRIMARY, A.I.), idposta (INT, UNSIGNED, INDEX), nick (VARCHAR, 20), tresc (VARCHAR, 1000), data (TIMESTAMP) 3. Stwórz relacje klucza obcego między tabelami Posty i Kategorie, oraz Komentarze i Posty. 1) Aby zdefiniować relację między tabelami Posty i Kategorie, przechodzimy do widoku Struktury tabeli Posty i klikamy na zakładkę Relation view W panelu Foreign key constraints wybieramy kolumnę idkategorii oraz tabelę Kategorie, do której identyfikatora odnosi się nasza kolumna. Dodatkowo, z list rozwijanych wybieramy opcje Cascade, dzięki czemu podczas usuwania kategorii zostaną usunięte również wszystkie posty z tej kategorii. 2

2) To samo robimy w przypadku relacji między tabelami Komentarze i Posty. 4. Dodaj do tabel po kilka przykładowych rekordów. Pamiętaj, że po stworzeniu realizacji klucza obcego ważna jest kolejność dodawania nowych informacji. 1) Najpierw dodaj dwie kategorie (pamiętaj, że identyfikatora nie musimy podawać, bo jest automatycznie generowany przez mechanizm auto-inkrementacji). Po dodaniu kategorii, w zakładce Przeglądaj możemy podejrzeć, jakie identyfikatory zostały wygenerowane dla każdej z nich. 2) Następnie dodaj po dwa posty do każdej z kategorii. Dzięki zdefiniowaniu klucza obcego nie musimy ręcznie wpisywać identyfikatora kategorii. Możemy go wybrać z listy rozwijanej. Zapobiega to dodaniu nieistniejącego identyfikatora. 3

3) Na zakończenia dodaj po dwa komentarze do każdego z postów. II. Mając tak przygotowaną strukturę danych w postaci tabel w bazie danych możemy przygotować aplikację sieciową do zarzadzania swoim blogiem. Rozkład zawartości, wygląd i poszczególne funkcjonalności możemy oczywiście zaprojektować w dowolny sposób, zależny od naszego gustu i pomysłów. Na początek, zadbajmy o samo wyświetlenie informacji. 1. Utwórz stronę index.php. Na górze strony wyświetl w jednej linii wszystkie nazwy kategorii pobrane z bazy danych. 2. Pod kategoriami wyświetl tabelkę z tytułem, nazwą kategorii i datą dodania postów pobranych z bazy danych. Już wiemy, jak to zrobić, ale w tabeli z postami mamy identyfikatory kategorii, a nie ich nazwy. Musimy zatem pobrać z tabeli z kategoriami nazwę kategorii dla danego identyfikatora. W naszym scenariuszu, możemy skorzystać z faktu, że na początku strony pobieramy już wszystkie kategorie z bazy. Przy okazji ich wypisywania, możemy je sobie zapisać do podręcznej i bardzo wygodnej w użyciu tablicy asocjacyjnej (która przechowuje pary klucz => wartość). Możemy to zrobić w podany poniżej sposób. $kategorie to nazwa tablicy asocjacyjnej, w nawiasach kwadratowych definiujemy klucz (którym są kolejne identyfikatory kategorii, a po operatorze przypisania podajemy wartości dla tych kluczy (którymi są odpowiadające im nazwy kategorii). Z tablicy tej możemy skorzystać w pętli tworzącej tabelkę dla postów pobranych z bazy. Wystarczy przekazać wartość klucza w nawiasach kwadratowych. Kluczem tym będzie wartość kolumny idkategorii dla danego posta. Zwracaną wartością będzie oczywiście nazwa odpowiedniej kategorii. 4

3. Tytuły postów przerób na linki, które będzą prowadziły do strony z pełną informacją o poście: jego tytułem (wyświetlanym jako nagłówkiem), nazwa kategorii, datą dodania i treścią. Pod postem wyświetl przypisane do niego komentarze. Tworzymy zatem nowy plik o nazwie, np., post.php. Potrzebne będą nam w nim trzy zapytania typu SELECT z klauzulą WHERE, które służy do definiowania warunków, jakie mają spełniać wyszukiwane rekordy w tabeli. Pierwsze zapytanie będzie wyszukiwało w bazie post o danym identyfikatorze. Identyfikator przekazujemy sobie w QueryStringu, czyli jako część adresu podaną po nazwie pliku, znaku zapytania, nazwie parametru i znaku równości, czyli np. post.php?id=2. W pliku index.php dopisujemy wartość id tak, aby każdy z linków zawierał id odpowiedniego posta. W pliku post.php odwołujemy się do tego id poprzez super-globalną zmienną $_GET i wykorzystujemy go w zapytaniu do bazy, które zwróci nam wszystkie kolumny posta o takim id. Drugie zapytanie będzie nam potrzebne do pobrania nazwy kategorii o id równym idkategorii naszego posta. Trzecie zapytania ma zwrócić listę komentarzy o idposta równym id naszego posta. 4. Na dole strony z postem dodaj link powrotny do strony z listą postów. 5. Przerób listę nazw kategorii na górze pliku index.php na linki, których kliknięcie spowoduje wyświetlenie postów tylko z kategorii o wybranej nazwie. Do listy kategorii dodaj link Wszystkie, który spowoduje wyświetlenie wszystkich postow. III. Wyświetlanie mamy obsłużone w miarę przyjemny dla użytkownika sposób. Dodaliśmy też sporo funkcjonalności związanych z wygodną nawigacją po zawartości naszego blogu. Przydałaby się obsługa pozostałych funkcjonalności określanych mianem CRUD (Create, Read, Update, Delete). 1. Dodaj możliwość tworzenia nowych postów. 1) Umieść link Dodaj nowy post nad tabelką z postami. 2) Niech prowadzi on do pliku insertpostform.php, w którym będzie dokument z formularzem do dodawania postów, między innymi z listą rozwijaną do wybrania kategorii. 5

3) Kliknięcie przycisku Zapisz ma powodować dodanie posta do bazy realizowane w pliku insertpost.php. Po pomyślnym dodaniu posta wstaw przekierowanie do pliku index.php. 2. Dodaj możliwość komentowania postów. 1) Formularz wstaw pod treścią posta, a przed listą komentarzy. 2) Obsługę formularza zrealizowaliśmy już na poprzednich zajęciach. Brakuje nam jednak identyfikatora posta Możemy go sobie przekazać na dwa sposoby; albo jako cześć adresu (np., insertcomment?id=2) podawanego w atrybucie action formularza i odwołując się później do niego poprzez zmienną $_GET; albo poprzez dodanie do formularza ukrytej kontrolki o odpowiedniej nazwie i wartości, będącej wartością identyfikatora., np. 3. Dodaj obsługę edycji i usuwania dla postów i usuwania dla komentarzy. IV. Wyeksportuj bazę danych do pliku. 1. Wygodnym i pewnym sposobem przeniesienia bazy z komputera na komputer jest jej wyeksportowanie i zaimportowania. Aby wyeksportować bazę, wybieramy ją z panelu po lewej i przechodzimy do zakładki Eksport. Na dole strony klikamy przycisk Wykonaj, wybieramy ścieżkę i podajemy nazwę pliku. 2. Aby odtworzyć zawartość bazy, najpierw musimy utworzyć bazę (jeżeli już istnieje, to ją wybieramy) i przechodzimy do zakładki Import, wybieramy wcześniej wyeksportowany plik i klikamy Wykonaj. 6

7