Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: koszyk na zakupy
Forum PHP.pl > Forum > PHP
TOOmy
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ą):


  1. CREATE DATABASE ksiazka_kz;
  2.  
  3. USE ksiazka_kz;
  4.  
  5. CREATE TABLE klienci
  6. (
  7. idklienta int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  8. nazwisko char(40) NOT NULL,
  9. adres char(40) NOT NULL,
  10. miasto char(20) NOT NULL,
  11. wojew char(20),
  12. kod_poczt char(10),
  13. kraj char(20) NOT NULL
  14. );
  15.  
  16.  
  17.  
  18. CREATE TABLE ksiazki
  19. (
  20. isbn char(13) NOT NULL PRIMARY KEY,
  21. autor char(30),
  22. tytul char(60),
  23. idkat int UNSIGNED,
  24. cena float(4,2),
  25. opis varchar(255)
  26. );
  27.  
  28. CREATE TABLE kategorie
  29. (
  30. idkat int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  31. nazwakat char(40) NOT NULL
  32. );
  33.  
  34.  
  35. CREATE TABLE admin[color=#FF0000]
  36. (
  37. nazwa_uz char(16) NOT NULL PRIMARY KEY,
  38. haslo char(16) NOT NULL
  39. );
  40.  
  41. GRANT SELECT, INSERT, UPDATE, DELETE
  42. ON ksiazka_kz.*
  43. TO ksiazka_kz@localhost IDENTIFIED BY 'haslo';


plik główny (index.php)


  1. <?php
  2. // koszyk na zakupy potrzebuje sesji, zostaje więc ona rozpoczęta
  3.  
  4. include ('funkcje_ksiazka_kz.php');
  5. tworz_naglowek_html('Witamy w księgarni Książkorama');
  6.  
  7. echo '<p>Proszę wybrać kategorię:</p>';
  8.  
  9. // pobranie kategorii z bazy danych
  10. $tablica_kat = pobierz_kategorie();
  11.  
  12. // wyświetlenie jako łącza do strony kategorii
  13. wyswietl_kategorie($tablica_kat);
  14.  
  15. // jeżeli zalogowany jako administrator, pokaż łącza dodawania,
  16. // usuwania i edycji
  17. if(isset($HTTP_SESSION_VARS['uzyt_admin']))
  18. {
  19. wyswietl_przycisk('admin.php', 'menu-admin', 'Menu Administratora');
  20. }
  21. tworz_stopke_html();
  22. ?>


i

pokaz_kat.php

  1. <?php
  2. include ('funkcje_ksiazka_kz.php');
  3. // koszyk na zakupy potrzebuje sesji, zostaje więc ona rozpoczęta
  4.  
  5. $idkat = $HTTP_GET_VARS['idkat'];
  6. $nazwa = $HTTP_SESSION_VARS pobierz_nazwe_kategorii($idkat);
  7.  
  8. tworz_naglowek_html($nazwa);
  9.  
  10. // pobranie informacji o książkach z bazy danych
  11. $tablica_ksiazek = pobierz_ksiazki($idkat);
  12.  
  13. wyswietl_ksiazki($tablica_ksiazek);
  14.  
  15.  
  16. // jeżeli zalogowany jako administrator, przedstawienie łącz
  17. // do dodawania i usuwania książek
  18. if(isset($HTTP_SESSION_VARS['uzyt_admin']))
  19. {
  20. wyswietl_przycisk('indeks.php', 'kontynuacja', 'Kontynuacja zakupów');
  21. wyswietl_przycisk('admin.php', 'menu-admin', 'Menu Administratora');
  22. wyswietl_przycisk("edycja_kat_form.php.php?idkat=$idkat",
  23.  'edycja-kategorii', 'Edycja kategorii');
  24. }
  25. else
  26. wyswietl_przycisk('indeks.php', 'kontynuacja', 'Kontynuacja zakupów');
  27.  
  28. tworz_stopke_html();
  29. ?>


funkcje_ksiazki.php


  1. <?php
  2. function oblicz_koszt_dostawy()
  3. {
  4. // ponieważ produkty wysyłane są na cały świat za pomocą 
  5. // teleportacji, koszty dostawy są stałe
  6. return 20.00;
  7. }
  8.  
  9. function pobierz_kategorie()
  10. {
  11.  // zapytanie bazy danych o listę kategorii
  12.  $lacz = lacz_bd();
  13.  $zapytanie = 'select idkat, nazwakat
  14.  from kategorie'; 
  15.  $wynik = @mysql_query($zapytanie);
  16.  if (!$wynik)
  17.  return false;
  18.  $ilosc_kat = @mysql_num_rows($wynik);
  19.  if ($ilosc_kat ==0)
  20. return false;
  21.  $wynik = wynik_bd_do_tablicy($wynik);
  22.  return $wynik; 
  23. }
  24.  
  25. function pobierz_nazwe_kategorii($idkat)
  26. {
  27.  // zapytanie bazy danych o nazwę dla identyfikatora kategorii
  28.  $lacz = lacz_bd();
  29.  $zapytanie = "select nazwakat
  30.  from kategorie 
  31.  where idkat = $idkat"; 
  32.  $wynik = @mysql_query($zapytanie);
  33.  if (!$wynik)
  34.  return false;
  35.  $ilosc_kat = @mysql_num_rows($wynik);
  36.  if ($ilosc_kat ==0)
  37. return false;
  38.  $wynik = mysql_result($wynik, 0, 'nazwakat');
  39.  return $wynik; 
  40. }
  41.  
  42.  
  43. function pobierz_ksiazki($idkat)
  44. {
  45.  // zapytanie bazy danych o książki w danej kategorii
  46.  if (!$idkat || $idkat=='')
  47.  return false;
  48.  
  49.  $lacz = lacz_bd();
  50.  $zapytanie = "select * from ksiazki where idkat='$idkat'";
  51.  $wynik = @mysql_query($zapytanie);
  52.  if (!$wynik)
  53.  return false;
  54.  $ilosc_ksiazek = @mysql_num_rows($wynik);
  55.  if ($ilosc_ksiazek ==0)
  56. return false;
  57.  $wynik = wynik_bd_do_tablicy($wynik);
  58.  return $wynik;
  59. }
  60.  
  61. function pobierz_dane_ksiazki($isbn)
  62. {
  63. // zapytanie bazy danych o wszystkie dane konkretnej książki
  64. if (!$isbn || $isbn=='')
  65.  return false;
  66.  
  67.  $lacz = lacz_bd();
  68.  $zapytanie = "select * from ksiazki where isbn='$isbn'";
  69.  $wynik = @mysql_query($zapytanie);
  70.  if (!$wynik)
  71.  return false;
  72.  $wynik = @mysql_fetch_array($wynik);
  73.  return $wynik;
  74. }
  75.  
  76. function oblicz_wartosc($koszyk)
  77. {
  78. // obliczenie całkowitej wartości produktów w koszyku
  79. $wartosc = 0.0;
  80. if(is_array($koszyk))
  81. {
  82. $lacz = lacz_bd();
  83. foreach($koszyk as $isbn => $ilosc)
  84. {
  85. $zapytanie = "select cena from ksiazki where isbn='$isbn'";
  86. $wynik = mysql_query($zapytanie);
  87. if ($wynik)
  88. {
  89. $cena_produktu = mysql_result($wynik, 0, 'cena');
  90. $wartosc +=$cena_produktu*$ilosc;
  91. }
  92. }
  93. }
  94. return $wartosc;
  95. }
  96.  
  97. function oblicz_produkty($koszyk)
  98. {
  99. // obliczenie całkowitej ilości produktów w koszyku na zakupy
  100. $produkty = 0;
  101. if(is_array($koszyk))
  102. {
  103. foreach($koszyk as $isbn => $ilosc)
  104. {
  105. $produkty += $ilosc;
  106. }
  107. }
  108. return $produkty;
  109. }
  110.  
  111. ?>
Cypherq
  1. <?php
  2. $wynik = wynik_bd_do_tablicy($wynik);
  3.  return $wynik;
  4. }
  5. ?>


Albo mam zaćmienie albo brakuje definicji jakiejś funkcji. I w ogóle co się dzieje? Nie wyświetla kategorii? A co wyświetla? Błąd? Nic? Musisz odpowiedzieć koniecznie na takie pytania...
TOOmy
Nic sie nie wyświetla.. no prawie nic. Pisze "Brak dostępnych kategorii".
jest jeszcze plik

funkcje_ksiazki.php

  1. <?php
  2. function oblicz_koszt_dostawy()
  3. {
  4. // ponieważ produkty wysyłane są na cały świat za pomocą 
  5. // teleportacji, koszty dostawy są stałe
  6. return 20.00;
  7. }
  8.  
  9. function pobierz_kategorie()
  10. {
  11.  // zapytanie bazy danych o listę kategorii
  12.  $lacz = lacz_bd();
  13.  $zapytanie = 'select idkat, nazwakat
  14.  from kategorie'; 
  15.  $wynik = @mysql_query($zapytanie);
  16.  if (!$wynik)
  17.  return false;
  18.  $ilosc_kat = @mysql_num_rows($wynik);
  19.  if ($ilosc_kat ==0)
  20. return false;
  21.  $wynik = wynik_bd_do_tablicy($wynik);
  22.  return $wynik; 
  23. }
  24.  
  25. function pobierz_nazwe_kategorii($idkat)
  26. {
  27.  // zapytanie bazy danych o nazwę dla identyfikatora kategorii
  28.  $lacz = lacz_bd();
  29.  $zapytanie = "select nazwakat
  30.  from kategorie 
  31.  where idkat = $idkat"; 
  32.  $wynik = @mysql_query($zapytanie);
  33.  if (!$wynik)
  34.  return false;
  35.  $ilosc_kat = @mysql_num_rows($wynik);
  36.  if ($ilosc_kat ==0)
  37. return false;
  38.  $wynik = mysql_result($wynik, 0, 'nazwakat');
  39.  return $wynik; 
  40. }
  41.  
  42.  
  43. function pobierz_ksiazki($idkat)
  44. {
  45.  // zapytanie bazy danych o książki w danej kategorii
  46.  if (!$idkat || $idkat=='')
  47.  return false;
  48.  
  49.  $lacz = lacz_bd();
  50.  $zapytanie = "select * from ksiazki where idkat='$idkat'";
  51.  $wynik = @mysql_query($zapytanie);
  52.  if (!$wynik)
  53.  return false;
  54.  $ilosc_ksiazek = @mysql_num_rows($wynik);
  55.  if ($ilosc_ksiazek ==0)
  56. return false;
  57.  $wynik = wynik_bd_do_tablicy($wynik);
  58.  return $wynik;
  59. }
  60.  
  61. function pobierz_dane_ksiazki($isbn)
  62. {
  63. // zapytanie bazy danych o wszystkie dane konkretnej książki
  64. if (!$isbn || $isbn=='')
  65.  return false;
  66.  
  67.  $lacz = lacz_bd();
  68.  $zapytanie = "select * from ksiazki where isbn='$isbn'";
  69.  $wynik = @mysql_query($zapytanie);
  70.  if (!$wynik)
  71.  return false;
  72.  $wynik = @mysql_fetch_array($wynik);
  73.  return $wynik;
  74. }
  75.  
  76. function oblicz_wartosc($koszyk)
  77. {
  78. // obliczenie całkowitej wartości produktów w koszyku
  79. $wartosc = 0.0;
  80. if(is_array($koszyk))
  81. {
  82. $lacz = lacz_bd();
  83. foreach($koszyk as $isbn => $ilosc)
  84. {
  85. $zapytanie = "select cena from ksiazki where isbn='$isbn'";
  86. $wynik = mysql_query($zapytanie);
  87. if ($wynik)
  88. {
  89. $cena_produktu = mysql_result($wynik, 0, 'cena');
  90. $wartosc +=$cena_produktu*$ilosc;
  91. }
  92. }
  93. }
  94. return $wartosc;
  95. }
  96.  
  97. function oblicz_produkty($koszyk)
  98. {
  99. // obliczenie całkowitej ilości produktów w koszyku na zakupy
  100. $produkty = 0;
  101. if(is_array($koszyk))
  102. {
  103. foreach($koszyk as $isbn => $ilosc)
  104. {
  105. $produkty += $ilosc;
  106. }
  107. }
  108. return $produkty;
  109. }
  110.  
  111. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.