Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie sql
Forum PHP.pl > Forum > PHP
slawekxx
Witam,

Jak powinno wyglądać zapytanie by otrzymać wyświetlanie kategorii gdzie są przypisane do niej podkategorie na przykładzie takiego skryptu ?
  1.  
  2.  
  3. try
  4. {
  5. $pdo = new PDO('mysql:host=localhost;dbname=produkty;port=3305', 'root', 'root');
  6. $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  7.  
  8. $stmt = $pdo -> query('SELECT id, nazwa FROM kategorie ORDER BY id');
  9.  
  10. $wynik = array();
  11. while($row = $stmt -> fetch())
  12. {
  13. $wynik[$row['id']] = array( // 1
  14. 'nazwa' => $row['nazwa'],
  15. 'ksiazki' => array() // 2
  16. );
  17. }
  18. $stmt -> closeCursor();
  19.  
  20. $stmt = $pdo -> query('SELECT tytul, wydawnictwo, kategoria_id
  21. FROM ksiazki ORDER BY kategoria_id, id'); // 3
  22.  
  23. while($row = $stmt -> fetch())
  24. {
  25. $wynik[$row['kategoria_id']]['ksiazki'][] = array( // 4
  26. 'tytul' => $row['tytul'],
  27. 'wydawnictwo' => $row['wydawnictwo']
  28. );
  29. }
  30. $stmt -> closeCursor();
  31.  
  32. // 5
  33. foreach($wynik as &$kategoria)
  34. {
  35. echo '<h3>'.$kategoria['nazwa'].'</h3>';
  36. foreach($kategoria['ksiazki'] as &$ksiazka)
  37. {
  38. echo '<p><i>'.$ksiazka['tytul'].'</i>
  39. (Wyd. '.$ksiazka['wydawnictwo'].')</p>';
  40. }
  41. }
  42. }
  43. catch(PDOException $e)
  44. {
  45. echo 'Wystapil blad biblioteki PDO: ' . $e->getMessage();
  46. }
  47.  
rogal_81
Czy chodzi Ci o to jak ma wyglądać zapytanie SQL, które wyciągnie kategorie z przypisanymi do nich podkategoriami za pomocą jednego zapytania?
slawekxx
Nie, nie to jest w tym skrypcie ... a ja chce wyświetlacz kategorie, które w bazie sql mają przypisane podkategorie , czyli jeżeli dana kategoria nie ma podkategorii nie wyświetla mi się
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.