Hallo allemaal,

ik ben bezig met een miniCms systeempje te schrijven en nu wil ik een overzicht van alle pagina's die in de database staan weergeven. Aleeen er zijn Hoofdpagina's en Subpagina's. Die subpaginas wil ik dus onder de bijhorende hoofdpagina zetten (parent). Ik heb daarvoor het onderstaande stukje script voor geschreven, maar het werkt niet. Kan iemand mij vertellen wat ik meot veranderen? Alvast bedankt!

<?php
$i = 0;
$Pagina_Query = mysql_query("SELECT *
FROM content WHERE id = parent
GROUP BY parent");
while ($Pagina = mysql_fetch_array($Pagina_Query)){

$tpl->newBlock('PAGINA_BODY');

$Pagina_id = $Pagina['id'];
$Pagina_naam = $txt->safeoutput($Pagina['title']);

$SubPagina_naam = $txt->safeoutput($Pagina['title']);

if ($i != $Pagina_id){

$Tpl->newBlock('TOON_PAGINA');
$Tpl->assign('PAGINA_NAAM', $Pagina_naam);
$Tpl->assign('PAGINA_ID', $Pagina_id);

}

$Tpl->newBlock('TOON_SUBPAGINA');

$Tpl->assign('SUBPAGINA_ID', $Pagina['id']);
$Tpl->assign('SUBPAGINA_NAAM', $Pagina_naam);

$i = $Pagina_id;
}
?>
Ik zou het doen met twee query's, zoiets:

<?php
$query = "SELECT paginaid, menutitel, menuurl FROM content WHERE subid = 0 ORDER BY volgordeid";
$result = mysql_query($query);

if($result && mysql_num_rows($result) > 0)
{
echo '<ul id="menulijst">'."\n\r";

while($row = mysql_fetch_array($result))
{
$id = $row['paginaid'];
$menutitel = $row['menutitel'];
$menuurl = $row['menuurl'];

$query2 = "SELECT paginaid, menutitel, menuurl FROM content WHERE subid = ".$id." ORDER BY volgordeid";
$result2 = mysql_query($query2);

if($result2 && mysql_num_rows($result2) > 0)
{
echo '<li><a href="?pagina='.$menuurl.'">'.ucfirst($menutitel).'</a>'."\n\r";

echo '<ul>'."\n\r";

while($row2 = mysql_fetch_array($result2))
{
$id2 = $row2['paginaid'];
$menutitel2 = $row2['menutitel'];
$menuurl2 = $row2['menuurl'];

echo '<li><a href="?pagina='.$menuurl.'&amp;subpagina='.$menuurl2.'">'.ucfirst($menutitel2).'</a></li>'."\n\r";
}

echo '</ul>'."\n\r";
echo '</li>'."\n\r";
}else{
echo '<li><a href="?pagina='.$menuurl.'">'.ucfirst($menutitel).'</a></li>'."\n\r";
}
}
echo '</ul>'."\n\r";
}
?>
de kunst is juist om het zo klein mogelijk te houden. Aparte Queries had ik eerst ook, alleen wil het verfijnen.

Reageren