Pogledajte određenu poruku
Staro 17. 03. 2008.   #1
misko_
profesionalac
Qualified
 
Datum učlanjenja: 22.09.2007
Lokacija: Split
Poruke: 111
Hvala: 8
39 "Hvala" u 10 poruka
misko_ is on a distinguished road
Red face Razlikovanje vrijednosti kada se dva polja u tablici imaju isto ime unutat INNER JOIN

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:
PHP kôd:
$redak['naziv'
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 lokacije.naziv_lokacije,
ali me zanima da li postoji koje drugo(elegantnije rijesenje) ???

HVALA
misko_ je offline   Odgovorite uz citat