11. marts 2004 - 21:24Der er
23 kommentarer og 1 løsning
Udtraek fra 2 tabeller i en MySQL string
Jeg har to tabeller: menu submenu
Jeg vil i nedenstaaende string gerne have hentet ALLE menu id's ud men KUN hentet submenu id's der passer til et variabel menu id - og KUN hvis der evt. er et defineret.
$result = mysql_query("SELECT m.*, s.* FROM menu AS m, submenu AS s WHERE m.mid = s.smconnect");
Fra dette faar jeg hentet det ud, men kun menuer med submenuer tilsluttet. Jeg indsnaevrer mig altsaa for meget med "WHERE m.mid = s.smconnect", hvordan faar jeg ogsaa et m.mid ud, der ikke har en s.smconnect?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
undskyld, jeg fik ikke formuleret mig fuldstaendigt.
kun hvis der er defineret et menuid (mid) skal der soeges for submenu's (smconnect). er dette ikke defineret eller er der ingen submenu's (smconnect) der passer variablen, skal der kun hentes menu's (mid).
Det jeg proever at goere, er, at man klikker paa en menu, og siden reloader - og derefter kommer submenu's under. Dvs. submenu's skal kun hentes hvor mid'et er defineret som en variabel, det fik jeg ikke gjort klart.
Og tak for linket, det ser ud til at vaere et oplagt bogmaerke!
Ville indrømme det ville være meget nemmere at hive hele menuen ud og bruge en menu som eks. coolmenu fra dhtmlcentral.com - der er det hele severet.
Men har svært ved at se hvordan du ønsker det, Kan sagntes lave en SQL-sætning der hiver et eller andet ud som du vil kunne bruge, men når man ikke ved hvordan din kode ser ud, og opbygningen af din menu, er det lidt svært.
Men igen, overvej at brug en færdig menu som allerede kan dette fint, bonus er at siden ikke behøves at reloades først, før den kan vise submenuen.
min kode ser saaledes ud - kan du formulere en kode der kun henter submenues fra en foruddefineret mid. du har helt ret, i praksis vil det fungere ganske som en dhtml menu, hvor man klikker og faar submenus's.
$result = mysql_query("SELECT menu.*, submenu.* FROM menu LEFT JOIN submenu ON menu.mid = submenu.smconnect");
while ($row = mysql_fetch_array($result)) {
$mid = $row["mid"]; $mname = $row["mname"];
$smid = $row["smid"]; $smname = $row["smname"];
echo "$mname<br>\n"; if ($smid) echo " - $smname<br>\n";
Altså hent submenu.smid ud hvor menu.mid = submenu.smconnect og menu.mid er 3 ?
SELECT menu.*, submenu.* FROM menu LEFT JOIN submenu ON menu.mid = submenu.smconnect WHERE menu.mid = 3 ??
$sql = "SELECT menu.*, submenu.* FROM menu LEFT JOIN submenu ON menu.mid = submenu.smconnect WHERE menu.mid=" . $_GET['mid']; $result = mysql_query($sql);
Ja ok - det kan jeg godt se. Men det er ikke noget du kan løse vha en select sætning... Der skal du have fat i noget php kode. Desværre ikke noget jeg kan hjælpe dig ret meget med, men du kan kikke på dette spørgsmål jeg har oprettet og se om du kan bruge den løsning... :o)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.