dopiero ucze sie php (na podstawie ksiazki Helionu "php i MySQL Tworzenie stron WWW Vademecum profesjonalisty Wydanie2" i mam mały problem, mianowicie nie wyślwietla sie lista kategorii. (Jeżeli jakiś plików brakuje dajcie znać to wkleje)
stworzyłem baze danych (o taką):
CREATE DATABASE ksiazka_kz; USE ksiazka_kz; CREATE TABLE klienci ( idklienta int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, nazwisko char(40) NOT NULL, adres char(40) NOT NULL, miasto char(20) NOT NULL, wojew char(20), kod_poczt char(10), kraj char(20) NOT NULL ); CREATE TABLE ksiazki ( isbn char(13) NOT NULL PRIMARY KEY, autor char(30), tytul char(60), idkat int UNSIGNED, cena float(4,2), opis varchar(255) ); CREATE TABLE kategorie ( idkat int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, nazwakat char(40) NOT NULL ); CREATE TABLE admin[color=#FF0000] ( nazwa_uz char(16) NOT NULL PRIMARY KEY, haslo char(16) NOT NULL ); GRANT SELECT, INSERT, UPDATE, DELETE ON ksiazka_kz.* TO ksiazka_kz@localhost IDENTIFIED BY 'haslo';
plik główny (index.php)
<?php // koszyk na zakupy potrzebuje sesji, zostaje więc ona rozpoczęta include ('funkcje_ksiazka_kz.php'); tworz_naglowek_html('Witamy w księgarni Książkorama'); // pobranie kategorii z bazy danych $tablica_kat = pobierz_kategorie(); // wyświetlenie jako łącza do strony kategorii wyswietl_kategorie($tablica_kat); // jeżeli zalogowany jako administrator, pokaż łącza dodawania, // usuwania i edycji { wyswietl_przycisk('admin.php', 'menu-admin', 'Menu Administratora'); } tworz_stopke_html(); ?>
i
pokaz_kat.php
<?php include ('funkcje_ksiazka_kz.php'); // koszyk na zakupy potrzebuje sesji, zostaje więc ona rozpoczęta $idkat = $HTTP_GET_VARS['idkat']; $nazwa = $HTTP_SESSION_VARS pobierz_nazwe_kategorii($idkat); tworz_naglowek_html($nazwa); // pobranie informacji o książkach z bazy danych $tablica_ksiazek = pobierz_ksiazki($idkat); wyswietl_ksiazki($tablica_ksiazek); // jeżeli zalogowany jako administrator, przedstawienie łącz // do dodawania i usuwania książek { wyswietl_przycisk('indeks.php', 'kontynuacja', 'Kontynuacja zakupów'); wyswietl_przycisk('admin.php', 'menu-admin', 'Menu Administratora'); wyswietl_przycisk("edycja_kat_form.php.php?idkat=$idkat", 'edycja-kategorii', 'Edycja kategorii'); } else wyswietl_przycisk('indeks.php', 'kontynuacja', 'Kontynuacja zakupów'); tworz_stopke_html(); ?>
funkcje_ksiazki.php
<?php function oblicz_koszt_dostawy() { // ponieważ produkty wysyłane są na cały świat za pomocą // teleportacji, koszty dostawy są stałe return 20.00; } function pobierz_kategorie() { // zapytanie bazy danych o listę kategorii $lacz = lacz_bd(); $zapytanie = 'select idkat, nazwakat from kategorie'; if (!$wynik) return false; if ($ilosc_kat ==0) return false; $wynik = wynik_bd_do_tablicy($wynik); return $wynik; } function pobierz_nazwe_kategorii($idkat) { // zapytanie bazy danych o nazwę dla identyfikatora kategorii $lacz = lacz_bd(); $zapytanie = "select nazwakat from kategorie where idkat = $idkat"; if (!$wynik) return false; if ($ilosc_kat ==0) return false; return $wynik; } function pobierz_ksiazki($idkat) { // zapytanie bazy danych o książki w danej kategorii if (!$idkat || $idkat=='') return false; $lacz = lacz_bd(); $zapytanie = "select * from ksiazki where idkat='$idkat'"; if (!$wynik) return false; if ($ilosc_ksiazek ==0) return false; $wynik = wynik_bd_do_tablicy($wynik); return $wynik; } function pobierz_dane_ksiazki($isbn) { // zapytanie bazy danych o wszystkie dane konkretnej książki if (!$isbn || $isbn=='') return false; $lacz = lacz_bd(); $zapytanie = "select * from ksiazki where isbn='$isbn'"; if (!$wynik) return false; return $wynik; } function oblicz_wartosc($koszyk) { // obliczenie całkowitej wartości produktów w koszyku $wartosc = 0.0; { $lacz = lacz_bd(); foreach($koszyk as $isbn => $ilosc) { $zapytanie = "select cena from ksiazki where isbn='$isbn'"; if ($wynik) { $wartosc +=$cena_produktu*$ilosc; } } } return $wartosc; } function oblicz_produkty($koszyk) { // obliczenie całkowitej ilości produktów w koszyku na zakupy $produkty = 0; { foreach($koszyk as $isbn => $ilosc) { $produkty += $ilosc; } } return $produkty; } ?>