Cao,
Napravio sam u PHP-u upit tipa:
PHP kôd:
$rezultat = mysql_query("SELECT lokacije_s_kategorijama.id,
lokacije_s_kategorijama.id_lokacija,
lokacije_s_kategorijama.id_kategorija,
lokacije.naziv,
kategorije.naziv
FROM lokacije_s_kategorijama
INNER JOIN kategorije
ON kategorije.id=lokacije_s_kategorijama.id_kategorija
INNER JOIN lokacije
ON lokacije.id=lokacije_s_kategorijama.id_lokacija;")
or die('Selektiranje nije uspijelo: ' . mysql_error());
Znaci ovdije kupi podatke iz tri tablice(lokacije, kategorije i lokacije_s_kategoijama). lokacije_s_kategorijama je tipicna tablica rezultata N:N veze.
poslje toga koristim kod:
PHP kôd:
$i=1;
while( $redak=mysql_fetch_array($rezultat) )
{
echo "<tr>";
echo "<td> $i </td>";
echo "<td>" . $redak['id'] . "</td>";
echo "<td>" . $redak['id_lokacija'] . "</td>";
echo "<td>" . $redak['id_kategorija'] . "</td>";
echo "<td>" . $redak['naziv'] . "</td>";
echo "<td>" . $redak['naziv'] . "</td>";
echo "<td><a onclick=\"return confirm('DA LI STE SIGURNI');\" href=promjeni_lokaciju_s_kategorijom.php?id=".$redak['lokacije_s_kategorijama.id'].">PROMJENI</a></td>";
echo "<td><a onclick=\"return confirm('DA LI STE SIGURNI');\" href=brisi_lokaciju_s_kategorijom.php?id=".$redak['lokacije_s_kategorijama.id'].">BRISI<a><td>";
echo "</tr>";
$i++;
}
$i = $i - 1;
E ono sto je meni ovdije zanimljivo je to da ako zelim pokupiti vrijednost polja id iz lokacije_s_kategorijama tablice ne mogu napisati $redak['lokacije_s_kategorijama.id'] nego moram $redak['id'] sto mi stvarno nije jasno zato? Ako netko zna bio bih mu zahvalan da mi objasni.
Pravi mi je problem sljedeci:
postoji polj sa imenom
naziv i u
lokacije i u
kategorije tablici
posto ne mogu koristiti sintaxu $redak['<
ime tablice>.<
ime polja>']
znaci ne mogu koristiti
PHP kôd:
$redak['lokacije.naziv']
$redak['kategorije .naziv']
nego mogu samo koristiti:
a kada to koristim onda dobijem vrijednost od kategorije.naziv(valjda zato sto je zadnji u upitu)
Ovo bih mogao rijesiti da preiminujem
kategorije.naziv u
kategorije.naziv_kategorije i
lokacije.naziv i l
okacije.naziv_lokacije,
ali me zanima da li postoji koje drugo(elegantnije rijesenje) ???
HVALA