66950 skanuj0529

66950 skanuj0529



550 PHP i MySQL dla każdego

Prezentacja szczegółowych danych książki

Za prezentację szczegółowych danych konkretnej książki odpowiadają dwie współpracujące ze sobą funkcje: showltem i printltem. Pierwsza z nich jest wywoływana ze skryptu main.php, natomiast druga — z funkcji showltem. Kod funkcji showltem został zaprezentowany na listingu 21.7. Otrzymuje ona jeden argument o nazwie id, wskazujący identyfikator książki, której dane mają zostać wyświetlone.

Listing 21.7. Kod funkcji showltem_

function showItem($id)

{

if( !makeDBConnection()){ return false:

}

$query = "SELECT 'Tytuł'. 'ISBN', 'Rok wydania' AS Rok. 'Opis'. 'Cena'. $query .- "Wydawnictwa.'Nazwa' AS Wydawnictwo. GROUP_CONCAT(”;

$query .= "Autorzy.'Nazwa') AS Autor. Książki.Id AS Id

$query .= "FROM Książki. Autorzy. Wydawnictwa. KsiążkiAutorzy

$query .= "WHERE Książki.Id=$id AND Wydawnictwa.Id=Ks1azki.Wydawnictwold

$query .= "AND Książki.Id=KsiazkiAutorzy.'KsiążkaId' AND

$query .- "Autorzy.Id = Książki Autorzy.Autorld

$query .= "GROUP BY Książki.Id ";

if(!$result = mysql_query($query)){ echo("Odrzucone zapytanie: funkcja showltem: $query"): return false:

}

if($row = mysql_fetch_array($result)){ printltemttrow);

}

el se{

return false;

}

return true;

}

Działanie funkcji rozpoczyna się od połączenia z bazą danych, za co odpowiada wywołanie funkcji makeDBConnection. Jeśli połączenie uda się nawiązać, jest wykonywane zapytanie pobierające: tytuł, numer ISBN, rok wydania, opis, cenę, nazwę wydawnictwa, dane autorów oraz identyfikator. Niezbędne jest w tym celu złączenie tabel Ksi azki, Autorzy, Wydawnictwa, Ksi azki Autorzy oraz wykonanie grupowania, gdyż jedna książka może mieć kilku autorów. Wykorzystana zostanie również, podobnie jak w przypadku funkcji search, funkcja złączająca wartości grupowanych kolumn — GROUP_CONCAT. Całe zapytanie ma postać:

SELECT 'Tytuł'. 'ISBN'. 'Rok wydania' AS Rok. 'Opis', 'Cena'. Wydawnictwa.'Nazwa'

AS Wydawnictwo, GROUP_CONCAT(Autorzy.'Nazwa') AS Autor, Książki.Id AS Id FROM Książki. Autorzy. Wydawnictwa. KsiazkiAutorzy WHERE Książki.Id=$id AND Wydawnictwa.Id-Ksiazki.Wydawnictwold AND Książki.Id=KsiazkiAutorzy.'KsiążkaId' AND Autorzy.Id * KsiazkiAutorzy.Autorld GROUP BY Książki.Id


Wyszukiwarka

Podobne podstrony:
skanuj0213 (5) 226 PHP i MySQL dla każdego Skrypt sprawdza najpierw za pomocą funkcji isSet, czy w t
skanuj0339 (2) 354 PHP i MySQL dla każdego INSERT INTO Książki VALU£S (1. 2. Uczeń skrytobójcy , •8
skanuj0161 (9) 172 PHP i MySQL dla każdego Zwraca ona ciąg strl, z którego począwszy od znaku o inde
skanuj0163 (9) 174 PHP i MySQL dla każdego Listing 6.12. Wykorzystanie funkcji strtok <?php $str

więcej podobnych podstron