Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL][PHP]Poprawne zapytanie do dwóch tabel
roghatt
post 6.04.2011, 13:42:13
Post #1





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

Ostrzeżenie: (0%)
-----


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. }

Go to the top of the page
+Quote Post
redelek
post 6.04.2011, 13:52:02
Post #2





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

Ostrzeżenie: (0%)
-----


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



--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
roghatt
post 6.04.2011, 14:15:01
Post #3





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

Ostrzeżenie: (0%)
-----


no niestety nie mam pojęcia jak to zastosować, czy ktoś mógłby nakierować bo nawet nie wiem jak zacząć.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 16:33