foreach in een foreach
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>
<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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
Iemand een idee??
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:
De code wordt dan zo:
Code (php)
1
2
3
4
5
6
7
8
9
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
}
$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
}
Quote:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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>';
}
} ?>
$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