Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: połączenie dwóch zapytań
Forum PHP.pl > Forum > Bazy danych
php programmer
Jak połaczyć dwa poniższe zapytania w jedno:

"SELECT id_prod FROM kat_prod WHERE id_kat = ".$_GET['kat']." ";

$wynik = [wynik powyższego zapytania]

for wszystkie uzyskane id_prod zrób poniższe

"SELECT * FROM prod WHERE id_prod = ".$_GET['id_prod']." ";
nospor
  1. <?php
  2.  
  3. $sql="SELECT k.id_prod, p.* FROM kat_prod k, prod p WHERE k.id_kat = ".$_GET['kat']." and p.id_prod=k.id_prod";
  4.  
  5. ?>
php programmer
OK juz mi działa tego typu zapytanie:

$query = " SELECT * FROM kategorie_produktow, produkty ";
$query .= " WHERE kategorie_produktow.id_kategorii = '".$_GET['kategoria']."'";
$query .= " AND kategorie_produktow.id_produktu = produkty.id ";

ale jak dodam jeszcze sprawdzenie trzeciej tabeli do juz mi nie działa:

$query = " SELECT * FROM kategorie_produktow, produkty, zdjecia ";
$query .= " WHERE kategorie_produktow.id_kategorii = '".$_GET['kategoria']."'";
$query .= " AND kategorie_produktow.id_produktu = produkty.id ";
$query .= " AND zdjecia.produkt = produkty.id ";

Chodzi mi o to zeby jeszcze sprawdzał dodatkowo trzecią tabelę w celu
wyświetlenia zdjęcia produktu, jeśli takie zdjęcie istnieje,
Ale nie działa mi - co napisałem nie tak ?
nospor
a co ci nie dziala. wali jakis blad? daj echo mysql_error(); po wykonaniu zapytania.

Amo ze ci nie zwraca zadnych rekordów bo nie ma dany produkt zdjęcia?
php programmer
no właśnie nie mam zadnych zdjęc,
ale moim zamierzeniu było, aby brak zdjęć
nie blokował, bo zdjęcia są opcjonalne

jak produkt nie ma zdjecia to po prostu nie wyświeli zdjęcia przy tym produkcie
a nie ze nie wyswietli zaraz tego produktu
nospor
left join
  1. <?php
  2.  
  3. $query = " SELECT * FROM kategorie_produktow, produkty left join zdjecia on zdjecia.produkt = produkty.id";
  4. $query .= " WHERE kategorie_produktow.id_kategorii = '".$_GET['kategoria']."'";
  5. $query .= " AND kategorie_produktow.id_produktu = produkty.id ";
  6.  
  7. ?>
php programmer
ok sprubuje,
tak w ogóle to pierwszy raz widze takie polecenie (tzn. left join )
na studiach tego nie było
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.