Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Relacje wiele do wielu i tworzenie zapytania do bazy
Forum PHP.pl > Forum > Bazy danych > MySQL
pejot
Witam,

W zapytaniu będzie używane 21 możliwości różnych zmiennych które będą wprowadzane z formularza ale tak się zastanawiam czy dobrze podchodzę do tematu.

Baza wygląda tak:
5 tabel jedna z nich engine_has_model jest stworzona z relacji n:m

Proste zapytanie funkcjonują bardzo dobrze ale czy przy bardziej złożonych zapytaniach sprawdzi się ta konstrukcja.

  1. SELECT
  2. ma.mark AS 'Marka',
  3. mo.model AS 'Model',
  4. en.engine AS 'Silnik',
  5. sp.oe AS 'Pierwsze wyposażenie',
  6. sp.plt AS 'P/LT',
  7. sp.width AS 'Szerokość',
  8. sp.series AS 'Profil',
  9. sp.zr AS 'Typ opony A',
  10. sp.r AS 'Typ opony B',
  11. sp.rim AS 'Średnica koła',
  12. sp.li AS 'Indeks nośności',
  13. sp.si AS 'Indeks prędkości',
  14. sp.axle AS 'Oś',
  15. sp.rfxlc AS 'Dodatkowe oznaczenie',
  16. sp.pr AS 'Opasanie',
  17. sp.teren AS 'Typ samochodu',
  18. sp.barpartfront AS 'Ciśnienie przód',
  19. sp.barpartrear AS 'Ciśnienie tył',
  20. sp.barfullfront AS 'Ciśnienie przód obciążony',
  21. sp.barfullrear AS 'Ciśnienie tył obciążony',
  22. sp.special AS 'Homologacje'
  23.  
  24. FROM mark ma,
  25. model mo,
  26. engine en,
  27. engine_has_model ehm,
  28. spec sp
  29. WHERE ma.id = ehm.model_mark_id AND ma.id=mo.mark_id AND mo.id = ehm.model_id AND en.id=ehm.engine_id AND sp.id=ehm.spec_id AND ma.mark='AUDI' AND sp.oe='B' AND sp.width='185'


Proszę o jakieś wskazówki.
mmmmmmm
1. wskazówka: zamień na JOIN (ew. LEFT JOIN)
pejot
Jednak nie było to takie trudne jak mi się wydawało i zrobiłem coś takiego:

  1. ...
  2. FROM
  3. engine_has_model ehm
  4. LEFT JOIN mark ma ON ma.id = ehm.model_mark_id
  5. LEFT JOIN model mo ON mo.id = ehm.model_id
  6. LEFT JOIN engine en ON en.id=ehm.engine_id
  7. LEFT JOIN spec sp ON sp.id=ehm.spec_id
  8. WHERE ma.mark='AUDI' AND sp.oe='B
  9.  


Czy taka konstrukcja jest ok?
mmmmmmm
Jak dotąd jest OK
pejot
Ok. Dziękuję

Chcę stworzyć formularz który będzie działał na zasadzie zależności a mianowicie. Gdy wybiorę jedną opcję to na podstawie niej pojawią się kolejne opcje do wyboru.

Ze względu na to, że będzie tych danych bardzo dużo musi to odbyć się to na zasadzie łączenia z bazą danych i pobieraniu danych (oczywiście . Czy możecie mnie nakierować jak to zrobić (jakiś podobny poradnik) .
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.