Witam,
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');
echo '<p>Proszę wybrać kategorię:</p>';
// 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
if(isset($HTTP_SESSION_VARS['uzyt_admin'])) {
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
if(isset($HTTP_SESSION_VARS['uzyt_admin'])) {
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;
}
?>
Ten post edytował TOOmy 3.09.2006, 11:46:44