30
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 5

Tworzenie Aplikacji Internetowych

  • Upload
    piera

  • View
    60

  • Download
    2

Embed Size (px)

DESCRIPTION

Tworzenie Aplikacji Internetowych. 5. dr Wojciech M. Gańcza. Formatowanie. Informacje mogą być wyświetlane w różny sposób Możemy korzystać z różnych wielkości czcionek, kolorów, sposobów formatowania - PowerPoint PPT Presentation

Citation preview

Page 1: Tworzenie Aplikacji Internetowych

Tworzenie Aplikacji Internetowychdr Wojciech M. Gańcza 5

Page 2: Tworzenie Aplikacji Internetowych

Formatowanie Informacje mogą być

wyświetlane w różny sposób Możemy korzystać z różnych

wielkości czcionek, kolorów, sposobów formatowania

Większość tych informacji można umieścić w dokumencie HTML przy pomocy atrybutów odpowiednich znaczników

Jednak nie wszystko da się tak osiągnąć

Page 3: Tworzenie Aplikacji Internetowych

Formatowanie … Atrybuty możemy określić w

znaczniku którego formatowanie dotyczy

Musimy to robić za każdym razem (dla każdego znacznika)

<p align=„right”> Możemy też określić atrybuty

stylu (uwaga: inny format)<p style=„text-align: right”>

Możemy umieścić wiele atrybutów w jednym znaczniku

Page 4: Tworzenie Aplikacji Internetowych

Formatowanie … W razie konieczności

przeformatowania dokumentu – czeka nas sporo pracy dlatego…

Możemy określać całe grupy styli i używać ich przy formatowaniu.

<p class=„doprawej”> Taką klasę stylu należy wcześniej

zdefiniować Możemy też określić jaki styl będą

miały wszystkie elementy danego typu

Page 5: Tworzenie Aplikacji Internetowych

CSS2 Do określania styli służy język CSS2 Wartości poszczególnych atrybutów

określane są poprzez konstrukcję:nazwa-atrybutu: wartość

Jeśli występuje więcej niż jeden atrybut w opisie – oddzielone są średnikiem

Wartości mogą zawierać listę elementów – separatorem jest spacja

Page 6: Tworzenie Aplikacji Internetowych

CSS2 …

Grupa atrybutów powinna być przypisana do nazwy elementu którego styl dotyczy

body {margin: 0 0 0 0;

background: black; text-color: #0fed945}

Page 7: Tworzenie Aplikacji Internetowych

Klasy styli

Jeśli określimy styl dla konkretnego elementu – wszystkie elementy w dokumencie będą wyświetlane w tym stylu.

Gdy chcemy stosować dla elementów tego samego typu różne style – musimy je nazwać.doprawej { text-align: right;}

Page 8: Tworzenie Aplikacji Internetowych

Klasy styli Nazwane klasy styli mogą dotyczyć

wybranego typu elementu:p.doprawej { text-align: right;}

Możemy także określić atrybuty dla wszystkich elementów* { font-family: Helvetica;}

Page 9: Tworzenie Aplikacji Internetowych

Pseudoklasy Jeśli element może być w różnych

stanach – możemy określić styl dla każdego z nicha:link {color:yellow; background: blue}a:visited {color:green} a:hover {background:blue; color:red}a:active {background:olive;

color:black} :focus {color:white; background:black}

Jeśli pseudoklasa doyczy wszyskich elementów – nie podajemy nazy elementu

Page 10: Tworzenie Aplikacji Internetowych

CSS2 – gdzie określać

Definicję stylu możemy umieścić na stronie wewnątrz znacznika

<style> … </style> Przydaje się to gdy listę styli

tworzymy dynamicznie (z kodu PHP)

Możemy też włączyć plik zawierający definicje styli<LINK REL=StyleSheet HREF="style.css" TYPE="text/css" MEDIA=screen>

Page 11: Tworzenie Aplikacji Internetowych

Uwaga na błędy W odróżnieniu od interpretera PHP

czy błędów w znacznikach HTML które niektóre przeglądarki mogą pokazywać błędy w określeniu styli NIE SĄ RAPORTOWANE

Informacje o stylu są interpretowane do pierwszego błędu – potem są ignorowane

Arkusze styli należy tworzyć uważnie i często sprawdzać rezultaty zmian.

Page 12: Tworzenie Aplikacji Internetowych

Dlaczego „kaskadowe”

Atrybuty określone w elemencie są zazwyczaj dziedziczone przez podelementy – na przykład atrybuty znacznika <body> są dziedziczone przez umieszczone w nim paragrafy <p>

Nie dotyczy to wszystkich znaczników i wszystkich atrybutów – szczegóły można znaleźć w opisach atrybutów CSS2

Page 13: Tworzenie Aplikacji Internetowych

Łączenie class i style

Aby niepotrzebnie nie mnożyć definicji klas styli możemy mieszać użycie klas i bezpośrednią definicję atrybutów

<td class="zajecia" style="background-color:

#ffff80"> Możemy w ten sposób jedynie

dodawać atrybuty – nie możemy ich nadpisywać

Page 14: Tworzenie Aplikacji Internetowych

Niezgodności

Niestety style mogą być różnie obsługiwane przez różne przeglądarki

Możemy zbudować różne arkusze styli i włączać je w zależności od przeglądarki dla której przygotowujemy stronę

Dobrze użyte style powinny pozwalać na zachowanie wyglądu mimo zmiany przeglądarki

Page 15: Tworzenie Aplikacji Internetowych

Wracamy do aplikacji

Przypomnijmy: Określiliśmy dostęp do bazy danych Przygotowaliśmy połączenie oraz

źródło danych Zbudowaliśmy kreatora baz i tabel

Wypada stworzyć bazę danych

Page 16: Tworzenie Aplikacji Internetowych

Baza książek Nasz aplikacja powinna pamiętać

kalie podręczniki są niezbędne dla danej grupy użytkowników.

Użytkownik może być w wielu grupach

Ten sam tytuł może być potrzebny wielu grupom

Użytkownik może posiadać potrzebną książkę

Może też posiadać niepotrzebną

Page 17: Tworzenie Aplikacji Internetowych

Model danych

Page 18: Tworzenie Aplikacji Internetowych

Książki – więcej informacji

Page 19: Tworzenie Aplikacji Internetowych

A co ze sprzedawaniem…

Użytkownicy mogą oferować niepotrzebne książki

Mogą też kupować książki oferowane przez innych użytkowników

Potrzebujemy jeszcze innego spojrzenia na dane…

Page 20: Tworzenie Aplikacji Internetowych

A co ze sprzedawaniem …

Page 21: Tworzenie Aplikacji Internetowych

Trudne pytania Niemal wszędzie będziemy

potrzebowali dostęp do danych ksiązki

Budowanie zapytania które zwraca wielu autorów jest trudne (podzapytania!)

Podzapytania długo się wykonują Postać normalna jest OK., ale… Niektóre informacje warto

zapisać w tabeli podręcznej

Page 22: Tworzenie Aplikacji Internetowych

Cache!

Dodajmy nową tabelę w której wyniki takich podzapytań będą po prostu zapamiętane

Page 23: Tworzenie Aplikacji Internetowych

Wreszcie określamy bazę

Teraz trzeba zebrać wszystkie diagramy

Relacje jeden do wielu możemy zaimplementować jako pole odnoszące się do identyfikatora w innej tabeli

Relacje wiele do wielu – to oddzielne tabele

Zauważmy, że niektóre tabele są bardzo podobne - słowniki

Page 24: Tworzenie Aplikacji Internetowych

Projekt bazy danych

Page 25: Tworzenie Aplikacji Internetowych

Znów konstruktor tabel

Nasz konstruktor tabel warto wzbogacić o Tworzenie tabeli – słownika Tworzenie tabeli – relacji wiele do

wielu Pola takich tabel można tworzyć

automatycznie Możemy wzbogacić klasę

konstruktora tabel, albo napisać nową (dziedziczącą lub używającą konstruktora)

Page 26: Tworzenie Aplikacji Internetowych

createVocabulary

function createVocabulary($name)

{

$this->startTable($name);

$this->addField($name .

"Name", "name");

$this->createTable();

}

Page 27: Tworzenie Aplikacji Internetowych

createMultireferencefunction createMultireference( $name1, $name2){ $this->startTable($name1 . $name2); $this->addReference($name1 . "ID", $name1); $this->addReference($name2 . "ID", $name2); $this->addUnique($name1 . $name2 . "unique", "${name1}ID, ${name2}ID"); $this->createTable();}

Page 28: Tworzenie Aplikacji Internetowych

Constraint

A jeśli potrzebujemy zapwnić unikalność danych:

function addUnique($name,

$fildList)

{

$this->contraints .=

", CONSTRAINT $name UNIQUE

($fildList)";

}

Page 29: Tworzenie Aplikacji Internetowych

Constraints…

Musimy także zmodyfikować konstruktor tabel tak by Zawierał pole przechowujące

aktualna listę constraintów Dodawał tą listę podczas

zamykania tabeli

Page 30: Tworzenie Aplikacji Internetowych

W następnym odcinku

Dostęp do danych Konstruujemy dane testowe Wyświetlamy dane z tabel A wszystko to dla różnych

użytkowników Ale tylko listy potrzebnych

książek