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:

<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:

<?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]mysql_query[/php] geeft een resource terug. Dit betekend dat het geen array is. Deze resource moet je omtoveren tot een array met [php]mysql_fetch_assoc[/php].
De code wordt dan zo:
<?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
}
Zo iets als dit?

<?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>';
}

} ?>

Reageren