array met id en pid naar ul li

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Klaas van Dijk

Klaas van Dijk

17/11/2011 20:44:54
Quote Anchor link
Hey phphulp,

Ik probeer voor elkaar te krijgen dat mijn array (een lange lijst met naam,id en pid) om te zetten naar een ul li lijst met de volgende indeling:

<ul class="mainmenu">
<li class="eerste active">
<a href="#">
<span class="left"></span>
<span class="center">link</span>
<span class="right"></span>
</a>
</li>
<li>
<a href="#">
<span class="left"></span>
<span class="center">link</span>
<span class="right"></span>
</a>
<ul>
<li>
<ul>
<li class="eerste">link</li>
<li><a href="#">- link</a></li>
<li><a href="#">- link</a></li>
<li><a href="#">- link</a></li>

</ul>
</li>
<li>
<ul>
<li class="eerste">link</li>
<li><a href="#">- link</a></li>
<li><a href="#">- link</a></li>
<li><a href="#">- link link</a></li>
</ul>
</li>
</ul>
</li>
</ul>

de ul li lijst lukt opzich wel (voor het eerste en tweede level), maar zodra ik weer een ul ga beginnen wordt het drama. De code die ik nu heb:

function print_list($array, $parent) {
$first = true;


foreach ($array as $item) {

if ($item['pid'] == $parent) {
echo '<li class="';
if ($first) {
echo 'eerste';
}
if ($item['active']) {
if (!$first) {
echo 'active';
} else {
echo ' active';
}
}
echo '">';
echo '<a href="' . '#' . '">';
echo ' <span class="left"></span>
<span class="center">' . $item['pagetitle'] . ' </span>
<span class="right"></span>';
echo '</a>';
echo '<ul>';
print_list($array, $item['id']);
echo '</ul>';
echo "</li>";
}

$first = false;
}
}
?>
 
PHP hulp

PHP hulp

06/11/2024 00:31:05
 
Peter Sanders

Peter Sanders

23/11/2011 10:28:59
Quote Anchor link
Hallo Klaas. Zet je code met nette indentatie even tussen [c ode] en [ /code] (zonder de spaties). Op die manier kunnen wij het ook wat makkelijker lezen.

Het volgende stukje briljante code viel me trouwens wel al meteen op:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
if (!$first) {
echo 'active';
} else {
echo ' active';
}

;-)
Gewijzigd op 23/11/2011 10:29:30 door Peter Sanders
 



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.