foreach in een foreach

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maurice prive

Maurice prive

04/12/2011 23:35:09
Quote Anchor link
Dag allemaal,

Ik ben net begonnen met PHP en zit een beetje te stoeien met foreach.

Ik heb 2 database tabellen genaamd Tabs en TabContent. De data die ik wil gebruiken komt uit de tabel TabContent:
http://www.mauricederegt.nl/dev/mahjong/tabtest2.php

Nu wil ik alle content behorend bij TabId in een lijst laten zien per div. Ieder TabID wordt een div id, met daarin de lijst met namen die bij dat Id horen. Dan krijg je zoiets als dit:

Quote:
<div id="[TabId hier]" class="tab_content">
<ul class="columns">
<li>[LayoutName hier die allemaal bij dit TabId horen]</li>
</ul>
</div>


Maar omdat er in dit geval 3 TabId's zijn, sullen er 3 div's moeten verschijnen met daarin de behorende content. En daar zit me het probleem. Ik heb een foreach in een foreach gemaakt, alleen krijg ik het niet werkend. Ik mis nog iets om alle dubbele TabId's te filteren. Dus 111,222,3333,etc moet 1,2,3 worden. Ik kan ook eventueel de tabel Tabs hiervoor gebruiken, maar hoe moet ik dat dan combineren?

De code die ik nu heb:

Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
    $result
= mysql_query("SELECT * FROM TabContent");

//Hier moet een missend stuk code waar ik niet uitkom
    
    foreach ($array as $k => $v) {
       echo'<div id="'.$k.'" class="tab_content">
         <ul class="columns">'
;
         foreach ($v as $data) {
           echo'<li>'.$data['LayoutName'].'</li>';
         }

        echo' </ul>
       </div>'
;
    }
?>


Iemand een idee??
 
PHP hulp

PHP hulp

25/12/2024 02:12:40
 
Wouter J

Wouter J

05/12/2011 08:27:53
Quote Anchor link
mysql_query geeft een resource terug. Dit betekend dat het geen array is. Deze resource moet je omtoveren tot een array met mysql_fetch_assoc.
De code wordt dan zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

$query
= "SELECT ... FROM ... WHERE ... = ...";
$result = mysql_query($query, $sql);

while( $row = mysql_fetch_assoc($result) )
{

  // Hier kun je met $row['kolomnaam'] alle SQL gegevens uitlezen
}
 
Maurice prive

Maurice prive

07/12/2011 19:37:24
Quote Anchor link
Zo iets als dit?

Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

$query
= "SELECT * FROM TabContent";
$result = mysql_query($query, $sql);

//$assoc_array[tab_id] = array($row1, $row2, $row3);
$array[TabId] = array($row1, $row2, $row3);

foreach ($array as $k => $v) {
       echo'<div id="'.$k.'" class="tab_content">
         <ul class="columns">'
;
         foreach ($v as $data) {
           echo'<li>'.$data['LayoutName'].'</li>';
         }

        echo' </ul>
       </div>'
;
    }

}
  ?>
Gewijzigd op 07/12/2011 19:39:28 door Maurice prive
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.