skanuj0204 (4)

skanuj0204 (4)



216 PHP i MySQL dla każdego

Rysunek 7.11.

Tabela zawierająca

e». Edycia WifcŁ Pr a*- ZoWa<*1 TJarzędia Pornos

jgjxj

©

wyniki glosowania

<J> * C- v £0 |i.l fttp://bci*ost/anWota.Bhp

— zl 0 » |Cl

Rozpocznij przygód.,. J AUlKfrioid

Wyniki głosowania

Nazwa koloni Uc/ba głosów Proc cm głosów

czerwony

578

PO.49

zielony

212

11.18

niebieski

829

43.72

fioletowy

134

8.12

czarny

1123

|6.49

głosów jest zapisywana w zmiennej votes_no; wartość ta jest następnie wykorzystywana do obliczenia, jaki procent głosów uzyskał każdy z kolorów. Do obliczenia procentowego udziału głosów jest wykorzystywany wzór:

procent - liczba głosów na dany kolor * 100 / całkowita liczba głosów

Wyniki są formatowane z dokładnością do dwóch miejsc po przecinku za pomocą funkcji sprintf. Uzyskane w ten sposób dane umieszczane są w tabeli HTML generowanej za pomocą standardowych znaczników tabl e, tr i td, i wysyłane do przeglądarki za pomocą instrukcji echo.

Zadaniem funkcji vote jest umieszczenie aktualnie otrzymanego głosu w pliku colors.txt. Jej działanie rozpoczyna się od sprawdzenia, czy w tablicy $_GET znajduje się klucz o nazwie vote oraz czy nie jest on pustym ciągiem znaków. Jeżeli jeden z wymienionych warunków jest prawdziwy, oznacza to, że do skryptu nie zostały przekazana poprawne dane, a zatem funkcja wyświetla komunikat o błędzie i kończy działanie. Jeśli jednak klucz o nazwie vote istnieje, jego wartość jest przypisywana zmiennej col or. Po wykonaniu tych czynności sprawdzane jest, czy istnieje plik colors.txt. Jeśli istnieje, następuje próba otwarcia go w trybie r+, jeśli natomiast plik nie istnieje, podejmowana jest próba otwarcia go w trybie w+ (co jest w tym przypadku równoznaczne z podjęciem próby utworzenia pliku na dysku). Jeżeli próby te zakończą się niepowodzeniem, funkcja wyświetla komunikat o błędzie i kończy działanie.

Po otwarciu pliku następuje odczyt jego zawartości analogicznie do sytuacji w przypadku funkcji show. Liczba głosów oddanych na poszczególne kolory przypisywana jest zmiennym: czerwony, zielony, niebieski, fioletowy i czarny. Następnie za pomocą instrukcji wyboru switch sprawdzane jest, na jaki kolor został oddany bieżący głos (czyli jaki kolor wskazuje zmienna color) i opowiadająca mu zmienna jest zwiększana o jeden. Na zakończenie wskaźnik pozycji w pliku jest przesuwany na pozycję zerową (na początek pliku), wszystkie dane są ponownie zapisywane i następuje zamknięcie pliku za pomocą funkcji fcl ose.


Wyszukiwarka

Podobne podstrony:
skanuj0300 (2) 314 PHP i MySQL dla każdego Rysunek 11.5. mysql> SELECT tytuł, imię, nazwisko, isb
skanuj0237 (3) 250 PHP i MySQL dla każdego 250 PHP i MySQL dla każdego Rysunek 9.11. Proces konfigur
79084 skanuj0104 (28) 116 PHP i MySQL dla każdego 116 PHP i MySQL dla każdego Rysunek 4.11. Zawartoś
skanuj0227 (3) 240 PHP i MySQL dla każdego Rysunek 8.8. Główna część witryny dostępna po
skanuj0253 (3) 266 PHP i MySQL dla każdego Rysunek 9.33. Nawiązanie połączenia serwerem MySQL Plik E
skanuj0286 (3) 300 PHP i MySQL dla każdego Rysunek 10.9. 3S5.::ir Imi s Mi as lilio . Na sto fron
skanuj0473 490 PHP i MySQL dla każdeg: Rysunek 19.1. Strona główna po zalogowaniu użytkownika niepos
15247 skanuj0249 (3) 262 PHP i MySQL dla każdego Rysunek 9.25. Nieprawidłowa struktura

więcej podobnych podstron