login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Dubbele query dynamisch menu

Offline Ruud - 23/02/2005 20:10 (laatste wijziging 23/02/2005 20:12)
Avatar van RuudHTML interesse Beste PHPer's,

Vanmiddag was ik begonnen met het maken van een dynamisch drop down menu script. Inmiddels is het zo goed als klaar alleen ben ik vastgelopen. Wie kan mij helpen.

Probleem.

Het menu heeft hoofd en submenu's, nu zijn er 2 tabellen, een heet hoofdmenu, ander submenu. de id van het hoofdmenu en de integer die in 'zone' staat van de tabel submenu.

Nu moet ik een query schrijven die alle hoofdmenu's uitleest, deze langs elkaar plaatst en bij ieder menu de juiste submenu's pakt. De integer in zone in de tabel submenu is gelijk aan de id van het hoofdmenu.

Mijn script tot nu toe:


Hopelijk begrijpen jullie mijn probleem.

Met Vriendelijke Groet,

Ruud

Tabellen:
  1. <?
  2. include('variabelen.php');
  3. include('menu.js');
  4.  
  5. $sql = "SELECT * FROM hoofdmenu";
  6. $result = mysql_query($sql) or die(mysql_error());
  7. while($obj = mysql_fetch_assoc($result)){
  8. ?>
  9. <DIV STYLE="background-color:silver; width:220" onmouseover="afficheCalque('div<? echo $obj['id']; ?>')" onmouseout="cacheCalque('div<? echo $obj['id']; ?>')">
  10. <a href=# onmouseover="afficheCalque('div<? echo $obj['id']; ?>')" onmouseout="cacheCalque('div<? echo $obj['id']; ?>')"><? echo $obj['name']; ?></a></DIV>
  11. <?
  12. $sql_2 = "SELECT * FROM submenu WHERE zone='".$obj['id']."'";
  13. $result_2 = mysql_query($sql_2) or die(mysql_error());
  14. while($obj_2 = mysql_fetch_assoc($result_2)){
  15. ?>
  16. <DIV id=div1 onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')" style="position:relative; layer-background-color:silver; background-color:silver; width:220; border-width:thin; border-color:white; border-style: groove; visibility: hidden">
  17. <a href=http://" onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')">Sarah Michelle Gellar</a><br>
  18. <a href=http://" onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')">Nicholas Brendon</a><br>
  19. <a href=http://" onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')">David Boreanaz</a><br>
  20. </DIV>
  21. <?
  22. }
  23. }
  24. ?>
  25. <?
  26. /*
  27. CREATE TABLE `hoofdmenu` (
  28. `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  29. `naam` VARCHAR(255) NOT NULL,
  30. `uitleg` VARCHAR(255) NOT NULL,
  31. `datum` DATETIME NOT NULL,
  32. `zone` INT NOT NULL
  33. ) TYPE = MYISAM;
  34. */
  35.  
  36. /*
  37. CREATE TABLE `submenu` (
  38. `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  39. `naam` VARCHAR(255) NOT NULL,
  40. `uitleg` VARCHAR(255) NOT NULL,
  41. `datum` DATETIME NOT NULL,
  42. `zone` INT NOT NULL
  43. ) TYPE = MYISAM;
  44. */
  45. ?>

7 antwoorden

Gesponsorde links
Offline Fenrir - 30/11/1999 00:00
Avatar van Fenrir PHP expert Wat gaat er dan foutrnKrijg je errorsrnrnJe benaming van variabelen is nogal vaagrnrnwhile($[b]obj[b] = mysql_fetch_[b]assoc[b]($result)){rnrn[objassoc] rnrnMss ligt het hieraanrn[code]DIV id=div1 onmouseover=afficheCalque('div1') onmouseout=cacheCalque('div1') style=positionrelative; layer-background-colorsilver; background-colorsilver; width220; border-widththin; border-colorwhite; border-style groove; visibility hiddenrna href=http onmouseover=afficheCalque('div1') onmouseout=cacheCalque('div1')Sarah Michelle Gellarabrrna href=http onmouseover=afficheCalque('div1') onmouseout=cacheCalque('div1')Nicholas Brendonabrrna href=http onmouseover=afficheCalque('div1') onmouseout=cacheCalque('div1')David BoreanazabrrnDIV[code] rnrnDaar zou je dan de resultaten uit de query in moeten zetten, bijv zornrn[code]a href==$obj_2-id=$obj_2-naama[code]
Offline ikkedikke - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van ikkedikke PHP expert ik weet niet helemaal wat je probleem isrnEr staan ook geen adressen in de tabellenrnrn[b]edit[b] rn[quote]Daar zou je dan de resultaten uit de query in moeten zetten, bijv zornrnrn[code]a href==$obj_2-id=$obj_2-naama[code]rn[quote] rnhet veld id is een getal verder lijken `naam` of `uitleg` me ook geen adressen;-)
Offline Fenrir - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van Fenrir PHP expert Hoe bedoel je adressenrnStaat er iets in de DBrnrnWat krijg je voor outputrnrnEDIT wat zijn dan wel adressen
Offline Ruud - 30/11/1999 00:00
Avatar van Ruud HTML interesse Mijn probleem is dat ik 2 query;s tegelijk moet uitvoeren, dit script was alleen maar ter illustratie, ik weet dat dat niet werkt, althans misschien werkt het wel maar het bereikt zijn doel niet.rnrnHier gaat het omrnrnIk heb 2 tabellen, nu kun je met een JOIN deze 2 bij elkaar voegen, kun je ze ook vergelijken of iets dergelijks rnrn CREATE TABLE `taal2` ( rn`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, rn`titel` VARCHAR(255) NOT NULL, rn`content` LONGTEXT NOT NULL, rn`updated` VARCHAR(255) NOT NULL, rn`opmerkingen` TEXT NOT NULL rn) TYPE = MYISAM; rnrn rnCREATE TABLE `hoofdmenu` ( rn`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, rn`naam` VARCHAR(255) NOT NULL, rn`uitleg` VARCHAR(255) NOT NULL, rn`datum` DATETIME NOT NULL, rn`zone` INT NOT NULL rn) TYPE = MYISAM; rn rnrnAls ik met een While tabel hoofdmenu.id uilees en meteen tabel submenu.zone alle zones met als waarde de id van hoofdmenu wil uilezen, hoe moet dat rnrnDus ik krijg iets van rnrnHoofdmenu 1 rnZone 1 Ruud rnZone 1 Maurice rnZone 1 Grad rnHoofdmenu 2 rnZone 2 Jan rnZone 2 Piet rnHoofdmenu 3 rnZone 3 Katrijn rnZone 3 Tinus rnrn(zone is een rij uit de tabel submenu) de zone moet dus overeenkomen met de id van tabel hoofdmenu. rnrnDus als hij id 1 van hoofdmenu uitgelezen heeft moet hij meteen alle rijen met zone =1 uit submenu eronder!! echoen. rnrnKan iemand mij Helpen rnrnAlvast heel erg dank! rnrnRuud Stelder
Offline Ruud - 30/11/1999 00:00
Avatar van Ruud HTML interesse In de tabel submenu zie je de rij zone, in zone staat het bijbehorende id van de tabel hoofdmenu. Wat ik wil is dat hij eerst hoofdmenu met een while doorloopt, en onder dat doorlopen alle rijen met zone = $hoofdmenu doorloopt. $hoofmenu is als de while bijv. bij het uitlezen van rij 1 in hoofmenu, dus id =1 in hoofdmenu, dat hij dan ook alle zones met id=1 pakt in submenu en die direct onder hoofdmenu wwergeeft, en daarna weer hoofdmenu 2 pakt met zijn bijbehorende zones (zones met 2 als resultaat)rnrnHopelijk is het duidelijk,rnrnMVGrnrnRuud
Offline Fenrir - 30/11/1999 00:00
Avatar van Fenrir PHP expert Ja, het is duidelijk, maar je manier klopt dus ook.rnrnWat vraag je danrnrnProbeer je script eens, zie je dan niet wat je wilt
Offline Ruud - 30/11/1999 00:00
Avatar van Ruud HTML interesse Haha, dat meen je niet, klopt mijn beredenering, nja dat noem je nog eens problemen maken DrnrnThnxrnrnRuud
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.186s