Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][SQL] zapytanie do trzech tabel i warunek
roghatt
post
Post #1





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

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


Jak wykonać zapytanie(przykładowe tabele):

Tabela1
ID_produktu
Nazwa_produktu
Cena_produktu


Tabela2
ID_Atrybutu
ID_produktu
Numer_atrybutu
Cena_atrybutu

Tabela3
ID_zamowienia
ID_produktu
Nazwa_produktu
Cena_finalowa

Wypisane mają być produkty, które zostały zamówione więc te które są w Tabela3
Niektóre produkty mają atrybuty a niektóre nie mają.
Jak produkt nie posiada atrybutu to w "Tabela1" Cena produktu = jakaś konkretna liczba.
Jeśli produkt ma atrybuty (dwa rodzaje produktu) to wtedy w "Tabela1" Cena produktu=0, a w "Tabela2" Cena_atrybutu=konkretna liczba

W skrócie robiłem tak:
  1. $wynik1= mysql_query ("SELECT * FROM Tabela1 WHERE ID_produktu=$ID_produktu");
  2. while($row=mysql_fetch_array($wynik1))
  3. {
  4. $products_id=$row['products_id'];
  5. $Cena_produktu=$row['Cena_produktu'];
  6.  
  7. if($Cena_produktu==0)
  8. {
  9. $wynik2= mysql_query ("SELECT * FROM Tabela3 WHERE ID_produktu=$ID_produktu");
  10. while($row=mysql_fetch_array($wynik2))
  11. {
  12. $products_name=$row['products_name'];
  13.  
  14. $wynik3= mysql_query ("SELECT * FROM Tabela2 WHERE ID_produktu=$ID_produktu AND Numer_atrybutu=3") //numer atrybutu wybierany przeze mnie w zaleznosci co chce wypisac
  15. while($row=mysql_fetch_array($wynik3))
  16. {
  17. $Cena_atrybutu=$row['Cena_atrybutu'];
  18. $Cena=$Cena_atrybutu;
  19. }
  20. }
  21.  
  22. }
  23. else
  24. {
  25. $wynik2= mysql_query ("SELECT * FROM Tabela3 WHERE ID_produktu=$ID_produktu");
  26. while($row=mysql_fetch_array($wynik2))
  27. {
  28. $Cena_finalowa=$row['Cena_finalowa'];
  29. $Nazwa_produktu=$row['Nazwa_produktu'];
  30. $Cena=$Cena_finalowa;
  31. }
  32. }
  33.  
  34. echo $Nazwa_produktu;
  35. echo "-";
  36. echo $Cena;
  37.  
  38.  
  39.  
  40. $cena_suma= $cena_suma+$Cena;
  41. }
  42. echo $cena_suma;


Coś namieszałem z warunkami bo źle mi wypisuje

Ten post edytował freelinkz 10.12.2010, 11:49:10
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 22.08.2025 - 00:04