30484 skanuj0460 (2)

30484 skanuj0460 (2)



478 PHP i MySQL dla każdego

Do nawiązania połączenia jest wykorzystywana funkcja mysq1_connect, natomiast do wyboru bazy — funkcja mysql_sel ect_db. Zwracaną wartością jest true, jeśli obie operacje zakończyły się sukcesem, lub wartość false, jeśli jedna z operacji zakończyła się niepowodzeniem.

Funkcja al readyVoted otrzymuje w postaci argumentów nazwę użytkownika (argument userName) oraz identyfikator ankiety (argument ankieta Id) i ma za zadanie stwierdzić, czy użytkownik oddał już swój głos w tej ankiecie. Jest w tym celu wykonywane zapytanie SQL w postaci:

SELECT Id FROM AnkletyOddaneGlosy. Users

WHERE Ankietald-Sankietald AND Users.Nazwa-'SuserName'

AND AnkietyOddaneGlosy.Userld - Users.Id

Jeśli jego wynikiem jest pusty zbiór danych (czyli mysq1_fetch_row zwróci wartość false), oznacza to, że użytkownik o nazwie userName (jak pamiętamy, nazwy użytkowników są niepowtarzalne) nie oddał głosu w ankiecie i funkcja zwraca wartość false. Jeśli natomiast wynikiem zapytania nie jest pusty zbiór danych, ale identyfikator użytkownika (czyli mysql_fetch_row zwróci wartość różną od false), oznacza to, że użytkownik oddał już głos w ankiecie, a zatem funkcja al readyVoted zwraca wartość true.

Zadaniem funkcji showPollResults jest wyświetlenie wyników ankiety, której numer został przekazany w postaci argumentu o nazwie id. Wykonywane są dwie operacje: pobranie tytułu ankiety z tabeli Ankiety oraz opcji i liczby głosów z tabeli AnkietyOpcje. Wyniki są umieszczane w tabeli HTML w celu ich sformatowania. Pierwsze wymienione zadanie jest wykonywane za pomocą instrukcji SQL:

SELECT Nazwa FROM Ankiety WHERE id=$id Drugie wymienione zadanie jest wykonywane za pomocą instrukcji SQL:

SELECT Opcja, Glosy FROM AnkietyOpcje WHERE Ankietald - $id ORDER BY Glosy DESC

Jak widać, wyniki są sortowane względem liczby głosów w porządku malejącym (klauzula ORDER BY G1 osy DESC), choć oczywiście można również zastosować inne sortowanie, w zależności od potrzeb. Ponieważ w rezultacie powyższego zapytania powstaje tabela wynikowa o liczbie wierszy równej liczbie opcji w danej ankiecie, jego wyniki są odczytywane w pętli while za pomocą funkcji mysql_fetch_row. Wyniki są umieszczane w oddzielnych komórkach tabeli HTML. Funkcja showPollResults zwraca wartość true, jeżeli wszystkie operacje zakończyły się sukcesem, lub wartość false — w przeciwnym przypadku.

Funkcja showAllPollsResults ma za zadanie wyświetlić wyniki wszystkich aktywnych ankiet, czyli takich, których status jest równy true (1). Identyfikatory ankiet są pobierane za pomocą zapytania:

SELECT Id FROM Ankiety WHERE Status-1


Wyszukiwarka

Podobne podstrony:
skanuj0243 (3) 256 PHP i MySQL dla każdego do okna wyświetlanego po uruchomieniu MySQL Admistratora
skanuj0053 (65) PHP i MySQL dla każdego zmienną liczba, której jest przypisywana wartość 10. Następn
skanuj0213 (5) 226 PHP i MySQL dla każdego Skrypt sprawdza najpierw za pomocą funkcji isSet, czy w t
skanuj0247 (3) 260 PHP i MySQL dla każdego Tabela Autorzy ma zatem pola: Autorld, Imię, Nazwisko, na
skanuj0443 460 PHP i MySQL dla każdego Pola nagłówek, treść i data są pobierane z tabeli News, natom
27374 skanuj0257 (3) 270 PHP i MySQL dla każdego Użycie apostrofów nie jest konieczne, jeśli żaden z
skanuj0217 (4) 230 PHP i MySQL dla każdego w sesji. Zmienne należy usunąć ręcznie za pomocą przeznac
12259 skanuj0196 (4) 208 PHP i MySQL dla każdegoWykorzystanie plików do przechowywania danych Skoro

więcej podobnych podstron