login  Naam:   Wachtwoord: 
Registreer je!
 Forum

SQL arrays samenvoegen

Offline OceanIdiot - 01/07/2010 09:06 (laatste wijziging 01/07/2010 10:58)
Avatar van OceanIdiotNieuw lid De laatste tijd ben ik erg geïnstresseerd geraakt in PHP. Ik zit dus wat aan te prullen en scripts te proberen. Nu was ik bezig met een dynamisch menu script. Het ging allemaal goed tot op zekere hoogte... Ik heb nu 2 arrays: één met de waardes voor menu koppen, en één met de waardes van de menu's die daaronder vallen. Ik wil er uiteindelijk een dropdown van maken maar eerst eens even een gewoon menu.

Het moet er als volgt uit komen te zien (maar die layout is niet zo moeilijk):

Menukop
Item
Item
Menukop
Item
enzovoorts

Ik heb hiervoor 2 tabellen aan gemaakt mm_hoofdmenu (de menukoppen):

en mm_dropdown (de menuitems):
  1. CREATE TABLE `algemeen`.`dropdown` (
  2. `id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
  3. `naam` VARCHAR( 64 ) NOT NULL ,
  4. `hoofdmenu` VARCHAR( 64 ) NOT NULL ,
  5. `volgorde` INT( 10 ) NOT NULL DEFAULT '1',
  6. PRIMARY KEY ( `id` ) ,
  7. UNIQUE (
  8. `id`
  9. )
  10. ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;


  1. <?php
  2. include('config.php');
  3. $hoofdmenu = array();
  4. $dropdown = array();
  5. $sql_hoofdmenu = mysql_query("SELECT * FROM `mm_hoofdmenu` WHERE `type`='hoofdmenu'");
  6. while($row_hoofdmenu = mysql_fetch_array($sql_hoofdmenu, MYSQL_ASSOC)) {
  7. $sql_dropdown = mysql_query("SELECT * FROM `mm_dropdown` WHERE `hoofdmenu`='". $row_hoofdmenu['alias'] ."' ORDER BY `volgorde`");
  8. while($row_dropdown = mysql_fetch_array($sql_dropdown, MYSQL_ASSOC)) {
  9. array_push($dropdown, $row_dropdown['naam']);
  10. }
  11. array_push($hoofdmenu, $row_hoofdmenu['naam']);
  12. }
  13. echo(implode(" | ", $hoofdmenu));
  14. echo(implode(" | ", $dropdown));
  15. ?>


Hoe krijg ik nu de goede waardes uit de array onder elkaar? Dus iets als dit:

Home Homepage Test
Media Muziek

Home en media komen uit mm_hoofdmenu en Homepage, test en muziek uit mm_dropdown

Alvast bedankt,
OI

2 antwoorden

Gesponsorde links
Offline Martijn - 01/07/2010 11:34
Avatar van Martijn Crew PHP INNER JOIN:

  1. SELECT t1.zooi,t1.niet,t1.met,t1.*,t1.want,t2.dat,t2.IS,t2.slecht FROM tabel1 AS t1
  2. INNER JOIN tabel2 AS t2
  3. ON (t1.categorie = t2.hoofdcategorie)

denk niet dat dat het resultaat zal geven, maar is een eindje op weg
Offline OceanIdiot - 01/07/2010 13:41 (laatste wijziging 01/07/2010 13:47)
Avatar van OceanIdiot Nieuw lid oke de fout zat dus in de query, ik zal me eens in INNER JOINS gaan verdiepen. Dankuu

edit: Het was overigens ook opgelost door de 'echo' van het hoofdmenu naar boven te verplaatsen (tussen de 2 while()'s in).
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.195s