Forum » Programiranje » msysql izpis iz dveh querijev
msysql izpis iz dveh querijev

cobrica ::
Mi zna mogoče kdo pomagat, iz baze pages izpišem strani in če je id pages enak id_pages v menu, bo v seznamu oznacilo selected, da je meni izbran. Trenutna koda je spodaj, vendar ne deluje prav..
$baza = mysql_query("SELECT * FROM pages"); while ($izpis = mysql_fetch_array($baza)) { echo $izpis['id'].'<br>'; $baza1 = mysql_query("SELECT * FROM menu_primary"); while ($izpis1 = mysql_fetch_array($baza1)) { if($izpis['id'] == $izpis1['page_id']){ $selected = "selected"; } } }

kivi113 ::
Ne vem, če je to to, kar si ti želel:
Ta koda preveri, če je v bazi menu_primary kakšen record z page_id = id (iz tabele pages), in če je (se pravi če je num rows > 0), doloci spremenljivki $selected vrednost "selected". Pred vsakim testiranjem se sicer spremenlivki $selected vrednost resetira na "", kar si ti v svojem primeru pozabil.
Če to ni rešitev tvoje težave, prosim, če lahko bolj podrobno napišeš, kaj bi želel, predvsem pa, ali hočeš samo primerjati, če vrednost obstaja v obeh tabelah, ali bi ti rad samo "selectal" vrednost, ki si sicer dobil preko $_REQUEST.
$baza = mysql_query("SELECT * FROM pages"); while ($izpis = mysql_fetch_array($baza)) { $baza1 = mysql_query("SELECT * FROM menu_primary WHERE page_id='" . $izpis['id'] . "'"); $selected = ""; if (mysql_num_rows($baza1) > 0) $selected = "selected"; echo $izpis['id'].' '. $selected . '<br>'; }
Ta koda preveri, če je v bazi menu_primary kakšen record z page_id = id (iz tabele pages), in če je (se pravi če je num rows > 0), doloci spremenljivki $selected vrednost "selected". Pred vsakim testiranjem se sicer spremenlivki $selected vrednost resetira na "", kar si ti v svojem primeru pozabil.
Če to ni rešitev tvoje težave, prosim, če lahko bolj podrobno napišeš, kaj bi želel, predvsem pa, ali hočeš samo primerjati, če vrednost obstaja v obeh tabelah, ali bi ti rad samo "selectal" vrednost, ki si sicer dobil preko $_REQUEST.

EjTi ::
To ni performančno optimalno, predvsem v primeru, ko imaš veliko strani. Poizvedba je lahko samo ena:
V eni "while" zanki izpisuješ "id", v kolikor pa je neprazen (!= null) še "page_id" pa izpišeš "selected".
SELECT p.id, mp.page_id FROM pages p left join menu_primary mp on mp.page_id = p.id
V eni "while" zanki izpisuješ "id", v kolikor pa je neprazen (!= null) še "page_id" pa izpišeš "selected".

cobrica ::
Ne vem, če je to to, kar si ti želel:
$baza = mysql_query("SELECT * FROM pages");
while ($izpis = mysql_fetch_array($baza)) {
$baza1 = mysql_query("SELECT * FROM menu_primary WHERE page_id='" . $izpis['id'] . "'");
$selected = "";
if (mysql_num_rows($baza1) > 0) $selected = "selected";
echo $izpis['id'].' '. $selected . '<br>';
}
Ta koda preveri, če je v bazi menu_primary kakšen record z page_id = id (iz tabele pages), in če je (se pravi če je num rows > 0), doloci spremenljivki $selected vrednost "selected". Pred vsakim testiranjem se sicer spremenlivki $selected vrednost resetira na "", kar si ti v svojem primeru pozabil.
Če to ni rešitev tvoje težave, prosim, če lahko bolj podrobno napišeš, kaj bi želel, predvsem pa, ali hočeš samo primerjati, če vrednost obstaja v obeh tabelah, ali bi ti rad samo "selectal" vrednost, ki si sicer dobil preko $_REQUEST.
kivi113 hvala točno to sem rabil!

Spura ::
To ni performančno optimalno, predvsem v primeru, ko imaš veliko strani. Poizvedba je lahko samo ena:
SELECT p.id, mp.page_id
FROM pages p
left join menu_primary mp on mp.page_id = p.id
V eni "while" zanki izpisuješ "id", v kolikor pa je neprazen (!= null) še "page_id" pa izpišeš "selected".
Tocno to. Poleg tega jst nikjer nimam "SELECT *".
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [php] preverjanje online uporabnikovOddelek: Programiranje | 2106 (1762) | cobrica |
» | php & mysql iskanje po podatkovni baziOddelek: Programiranje | 1169 (879) | MisterR |
» | unset cookieOddelek: Izdelava spletišč | 1890 (1697) | tomitza |
» | Kaj je narobe tu...(php)Oddelek: Programiranje | 1212 (1110) | teac |
» | Zakaj? (php & mySQL)Oddelek: Programiranje | 1261 (1188) | darh |