Mam problem jak wydobyć dane z 3 tabel
mam 3 tabele :
1) klient
i posiada pola
id_klient
nazwa_klient
grupa_nazwa
firma
data_przejecia
2)grupa_klient
i posiada pola
id_grupa
nazwa_grupa
pole id_grupa łączy się z polem grupa_nazwa z tabeli klient
3)klucz
id_klucz
id_typ_klucz
ilosc_klucz
id_klient
tabela klucz jest zbiorem kluczy jaki ma dany klient (laczenie z tabela klient)
it_typ_klucz - okresla typ klucza
ilosc_klucz - okresla ile kluczy jest tego typu
moze byc tak ze klient ma rozne typy kluczy
i teraz mam taki kod :
$firma_obslugujaca=isset($_GET['firma_obslugujaca']) ?
$_GET['firma_obslugujaca'] :0; $pokaz=isset($_GET['pokaz']) ?
$_GET['pokaz'] :0; $sortuj=isset($_GET['sort']) ?
$_GET['sort'] :0; if (($firma_obslugujaca>2) || ($sortuj>3))
{
$txt.="<div class=\"div_okienko\"><h3>Nieprawidłowa wartość</h3></div>";
header('Refresh: 2;ewidencja.php?funkcja=wyswietl'); }
$sql='SELECT a.* FROM klient a';
switch($firma_obslugujaca)
{
case 0:
$sql.=' WHERE a.id_klient>0';
break;
case 1:
$sql.=' WHERE a.firma="firma 1"';
break;
case 2:
$sql.=' WHERE a.firma="firma 2"';
break;
}
if ($pokaz>0) $sql.=' AND a.grupa_klient= :pokaz';
switch($sortuj)
{
case 0:
break;
case 1:
$sql.=' ORDER BY a.data_przejecia';
break;
case 2:
$sql.=' ORDER BY nazwa_klient';
break;
case 3:
$sql.=' ORDER BY grupa_klient';
break;
}
$txt.="sql=".$sql;
//sortowanie
$stmt = $pdo -> prepare('SELECT id_grupa,nazwa_grupa FROM grupa_klient ORDER BY nazwa_grupa');
$stmt -> execute();
$txt.="<form method='GET' action='ewidencja.php'>
<input type='hidden' name='funkcja' value='wyswietl'>
Wybierz filtr:</br>
Firma obsługująca:
<select name='firma_obslugujaca'>
<option value=0>Wszystkie</>
<option value=1>Firma 1</>
<option value=2>Firma 2</>
</select>
Pokaż tylko
<select name='pokaz'>
<option value=0>Wszystkie</>";
while ($row=$stmt ->fetch())
{
$id_grupa=$row['id_grupa'];
$nazwa_grupa=$row['nazwa_grupa'];
$txt.="<option value='$id_grupa'>$nazwa_grupa</option>";
}
$stmt->closeCursor();
$txt.="</select>
Sortuj wg
<select name='sort'>
<option value=0>BraK</>
<option value=1>Daty dodania</>
<option value=2>Nazwy klienta</>
<option value=3>Grupy klienta</>
</select>
<input type='submit' value='Zatwierdz'>
</form>";
//wykonanie zapytania
$sql_query=$pdo->prepare($sql);
$sql_query->bindValue(':pokaz', $pokaz, PDO::PARAM_INT);
$sql_query -> execute();
$count_wyswietl = $sql_query -> rowCount();
//tabela
$txt.="<TABLE width='95%'>
<TR>
<TD>Lp.</TD>
<TD>Nazwa klienta</TD>
<TD>Grupa</TD>
<TD>Firma Obsługująca</TD>
<TD>Data przejęcia</TD>
<TD>Ilość kluczy</TD>
</TR>";
while ($row=$sql_query ->fetch())
{
//zlaczenie tabel
$lp++;
$id_klient=$row['id_klient'];
$nazwa_klient=$row['nazwa_klient'];
$firma=$row['firma'];
$data_przejecia=$row['data_przejecia'];
$sql_zlaczenie=$pdo->prepare('SELECT b.nazwa_grupa FROM klient a, grupa_klient b WHERE a.id_klient= :id_klient AND a.grupa_klient=b.id_grupa');
$sql_zlaczenie->bindValue(':id_klient', $id_klient, PDO::PARAM_INT);
$sql_zlaczenie -> execute();
while ($row2=$sql_query ->fetch())
{
$nazwa_grupa=$row2['nazwa_grupa'];
$txt.="<TR>
<TD>$lp</TD>
<TD><a href='ewidencja.php?funkcja=pokaz_klient&id=$id_klient'>$nazwa_klient</a></TD>
<TD>$nazwa_grupa</TD>
<TD>$firma</TD>
<TD>$data_przejecia</TD>
<TD>$ilosc_kluczy</TD>
</TR>";
}
}
$txt.="</TABLE>";
no i nie działa mi to : $sql_zlaczenie=$pdo->prepare('SELECT b.nazwa_grupa FROM klient a, grupa_klient b WHERE a.id_klient= :id_klient AND a.grupa_klient=b.id_grupa');
pytanie moje jak wydobyc nazwe_grupy oraz zliczyc ilosc calkowita kluczy danego klienta