Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP]Poprawne zapytanie do dwóch tabel
Forum PHP.pl > Forum > Przedszkole
roghatt
Witam
Męczę się z zapytaniem do bazy aby wypisać interesujące mnie dane.

Jak napisać w PHP zapytanie wypisujące mi produkty
Najpierw tabele:

Tabela1: Zamowienia
id_zamowienia
id_produktu
model_produktu
cena
atrybuty

Tabela2: Atrybuty
id_produktu
rodzaj_produktu
cena

Chcę wypisac produkty konkretnego modelu:
Pole "atrybuty" posiada 0 albo 1. Jeśli 1 to wtedy cenę ma pobierać z tabeli "Atrybuty", ale o określonym rodzaju produktu.

Moje zapytanie:
id_produktu pobieram wczesniej jeszcze z innej tabeli.
  1. $wynik1= mysql_query ("SELECT * FROM Zamowienia WHERE id_produktu=$id_produktu AND model_produktu='Mapa samochodowa' ");
  2. while($row=mysql_fetch_array($wynik1))
  3. {
  4. $model_produktu=$row['model_produktu'];
  5. $cena=$row['cena'];
  6. $atrybut=$row['atrybut'];
  7. }


z drugiej tabeli
  1. $wynik2= mysql_query ("SELECT * FROM Atrybuty WHERE id_produktu=$id_produktu AND rodzaj_produktu='Mapa samochodowa' ");
  2. while($row=mysql_fetch_array($wynik2))
  3. {
  4. $rodzaj_produktu=$row['rodzaj_produktu'];
  5. $cena=$row['cena'];
  6. }


Tylko jak do tego zastosować IF gdy $atrybut=1 ?
Próbowałem IF ale zle mi wypisuje ceny.
Jeśli $atrybut z pierwszej tabeli jest równy 1 to wtedy ma wykonać tabelę Atrybuty i z niej pobrać cenę, a zdarza się, że z pierwszej mi cenę dalej pobiera.

Coś takiego próbuję:
  1. $wynik1= mysql_query ("SELECT * FROM Zamowienia WHERE id_produktu=$id_produktu AND model_produktu='Mapa samochodowa' ");
  2. while($row=mysql_fetch_array($wynik1))
  3. {
  4. $model_produktu=$row['model_produktu'];
  5. $cena=$row['cena'];
  6. $atrybut=$row['atrybut'];
  7.  
  8. if ($atrybut==1) {
  9. $wynik2= mysql_query ("SELECT * FROM Atrybuty WHERE id_produktu=$id_produktu AND rodzaj_produktu='Mapa samochodowa' ");
  10. while($row=mysql_fetch_array($wynik2))
  11. {
  12. $rodzaj_produktu=$row['rodzaj_produktu'];
  13. $cena=$row['cena'];
  14. }
  15. }
  16. echo $cena;
  17. echo "<br>";
  18. }

redelek
Zobacz może tu coś znajdziesz w zapytaniu SQL można stosować if
http://dev.mysql.com/doc/refman/5.0/en/con...-functions.html

roghatt
no niestety nie mam pojęcia jak to zastosować, czy ktoś mógłby nakierować bo nawet nie wiem jak zacząć.
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.