Ik heb een boomstructuur die volledig door ul en li's uitklapt.
De bedoeling is dat wanneer een onderwerp vb uit hoofdgroep 1 geselecteerd is alles van hoofdgroep 2 verborgen blijft.
Dit principe toepassen op alle onderliggende structuren natuurlijk.
<?php
$select_hoofdgroep = mysql_query("SELECT * FROM artikel_menu WHERE hoofdgroep_id = '0' AND groep_id = '0' AND subgroep_id = '0' AND minigroep_id = '0' AND hide = 'no' ORDER BY artikel_naam_$taal ASC");
while ($fetch_hoofdgroep = mysql_fetch_assoc($select_hoofdgroep)) {
if ($fetch_hoofdgroep['artikel_type'] == "file"){
//
} else {
echo '<li><table border="0"><tr><td width="0"></td><td valign="top"><img src="files/jquery.treeview/images/plus.png" /></td><td valign="top">
<a href="page.php?hg='.$fetch_hoofdgroep['id'].'&gr='.$fetch_hoofdgroep['groep_id'].'&sb='.$fetch_hoofdgroep['subgroep_id'].'&pid='.$fetch_hoofdgroep['id'].'&slct=gr&cnt=n&nav=prod">
'.$fetch_hoofdgroep['artikel_naam'.'_'.$taal].'</a></td></tr></table>';
}////////
$select_groep = mysql_query("SELECT * FROM artikel_menu WHERE hoofdgroep_id = " .$fetch_hoofdgroep['id'] . " AND groep_id = '0' AND subgroep_id = '0' AND minigroep_id = '0' ORDER BY artikel_naam_$taal ASC");
while ($fetch_groep = mysql_fetch_assoc($select_groep)) {
if ($fetch_groep['artikel_type'] == "file"){
echo '<li><table border="0"><tr><td width="15"></td><td valign="top"><img src="files/jquery.treeview/images/plus.png" /></td><td valign="top">
<a href="page.php?hg='.$fetch_groep['hoofdgroep_id'].'&gr='.$fetch_groep['groep_id'].'&sb='.$fetch_groep['subgroep_id'].'&pid='.$fetch_groep['id'].'&cnt=y&nav=prod">
'.$fetch_groep['artikel_naam'.'_'.$taal].'</a></td></tr></table>';
} else {
echo '<li><table border="0"><tr><td width="15"></td><td valign="top"><img src="files/jquery.treeview/images/plus.png" /></td><td valign="top">
<a href="page.php?hg='.$fetch_groep['hoofdgroep_id'].'&gr='.$fetch_groep['id'].'&sb='.$fetch_groep['subgroep_id'].'&pid='.$fetch_groep['id'].'&slct=sb&cnt=n&nav=prod">
'.$fetch_groep['artikel_naam'.'_'.$taal].'</a></td></tr></table>';
}////////
$select_subgroep = mysql_query("SELECT * FROM artikel_menu WHERE hoofdgroep_id = " .$fetch_hoofdgroep['id'] . " AND groep_id = " . $fetch_groep['id'] . " AND subgroep_id = '0'
AND minigroep_id = '0' ORDER BY artikel_naam_$taal ASC");
while ($fetch_subgroep = mysql_fetch_assoc($select_subgroep)) {
if ($fetch_subgroep['artikel_type'] == "file"){
echo '<li><table border="0"><tr><td width="30"></td><td valign="top"><img src="files/jquery.treeview/images/plus.png" /></td><td valign="top">
<a href="page.php?hg='.$fetch_subgroep['hoofdgroep_id'].'&gr='.$fetch_subgroep['id'].'&sb='.$fetch_subgroep['subgroep_id'].'&pid='.$fetch_subgroep['id'].'&cnt=y&nav=prod">
'.$fetch_subgroep['artikel_naam'.'_'.$taal].'</a></td></tr></table>';
} else {
echo '<li><table border="0"><tr><td width="30"></td><td valign="top"><img src="files/jquery.treeview/images/plus.png" /></td><td valign="top">
<a href="page.php?hg='.$fetch_subgroep['hoofdgroep_id'].'&gr='.$fetch_subgroep['groep_id'].'&sb='.$fetch_subgroep['id'].'&pid='.$fetch_subgroep['id'].'&slct=sb&cnt=n&nav=prod">
'.$fetch_subgroep['artikel_naam'.'_'.$taal].'</a></td></tr></table>';
} ////////
$select_minigroep = mysql_query("SELECT * FROM artikel_menu WHERE hoofdgroep_id = " .$fetch_hoofdgroep['id'] . " AND subgroep_id = " . $fetch_subgroep['id'] . " AND minigroep_id = '0'
ORDER BY artikel_naam_$taal ASC");
while ($fetch_minigroep = mysql_fetch_assoc($select_minigroep)) {
if ($fetch_minigroep['artikel_type'] == "file"){
echo '<li><table border="0"><tr><td width="45"></td><td valign="top"><img src="files/jquery.treeview/images/plus.png" /></td><td valign="top">
<a href="page.php?hg='.$fetch_minigroep['hoofdgroep_id'].'&gr='.$fetch_minigroep['groep_id'].'&sb='.$fetch_minigroep['subgroep_id'].'&pid='.$fetch_minigroep['id'].
'&cnt=y&nav=prod">'.$fetch_minigroep['artikel_naam'.'_'.$taal].'</a></td></tr></table>';
}
}
////////}
}
////////}
}
////////}
}
?>
<?php
$select_hoofdgroep=mysql_query("SELECT * FROM artikel_menu WHERE hoofdgroep_id = '0' AND groep_id = '0' AND subgroep_id = '0' AND minigroep_id = '0' AND hide = 'no' ORDER BY artikel_naam_$taal ASC");
$select_groep=mysql_query("SELECT * FROM artikel_menu WHERE hoofdgroep_id = ".$fetch_hoofdgroep['id']." AND groep_id = '0' AND subgroep_id = '0' AND minigroep_id = '0' ORDER BY artikel_naam_$taal ASC");
$select_subgroep=mysql_query("SELECT * FROM artikel_menu WHERE hoofdgroep_id = ".$fetch_hoofdgroep['id']." AND groep_id = ".$fetch_groep['id']." AND subgroep_id = '0'
AND minigroep_id = '0' ORDER BY artikel_naam_$taal ASC");
$select_minigroep=mysql_query("SELECT * FROM artikel_menu WHERE hoofdgroep_id = ".$fetch_hoofdgroep['id']." AND subgroep_id = ".$fetch_subgroep['id']." AND minigroep_id = '0'
Dude. Vereenvoudig je script eens. Je gebruikt 4 query's om hetzelfde in principe op te vragen. Check google eens, en zoek bijvoorbeeld eens naar JOINS.
Zoals ik je vraag interpreteer vermoed ik dat je een hide/show gebeuren bedoelt met html/css/js? Welke rol je PHP en MySQL in deze heeft is me nog onduidelijk.
Sorry - vinTage -, dat ik probeer te helpen. Ik dacht nou eenmaal dat dit ook met jQuery kon, maar helaas, blijkbaar toch niet. Shame on me, en als goedmakertje een nieuwe poging tot oplossing:
Je moet een variabele meekrijgen waarin het id van de geselecteerde hoofdgroep staat en dan met een ifje checken of die hoofdgroep is geselecteerd, zo niet, dan het goede eruit halen en de rest erin laten
Weet je hoe het script werkt? Ik (en niemand hier) ga het niet voor je voorkauwen!
Ik weet zeer zeker hoe het script werkt, op een andere pagina heb ik het werkend gekregen met 1 level diepte, nu ik meerdere levels diep moet gaan lukt het me echter niet.
Ik roep telkens de specifieke groep aan, dit aan de hand van de subgroep en hoofdgroep. M'n boom word effectief getoond maar ik wil dat hij "openklapt" waneer er op het specifieke onderwerp geklikt word.
Het script is naar m'n gevoel vrij volledig maar zie de missing link niet.
Je kunt m prima helpen hoor. Je hoeft niet steeds te zeggen dat je niets gaat zeggen, dat zou jij ook niet willen. Je kunt ook meer dan genoeg info geven zonder het antwoord te geven, focus je dan daar op
Hi Totem, wat bedoel je met "continue slaat een keer loopen over" ?
Is inderdaad voor school en begrijp dat je niet alles wil voortonen maar is wel feit dat het volledige script zelf geschreven is. Dat merk je waarschijnlijk wel aan de opbouw
Het is nu toch te laat voor m'n schoolwerk, maar wil toch weten hoe het op te lossen. Waar integreer ik die while functie? Kun je misschien even toepassen in eerste deel code?
Kijk, je slaat elk item over dat dus niet in de geselecteerde catagorie valt (die je in $_GET meekrijgt);
Hoofdcategorie-id: 2
Sub: 4
1. Categorie één (overslaan, id is niet 2)
2. Categorie twee (laten zien, id is 2)
. . 1. Subcategorie één (overslaan, id is niet 4)
. . 2. Subcategorie twee (overslaan, id is niet 4)
. . 3. Subcategorie drie (overslaan, id is niet 4)
. . 4. Subcategorie vier (laten zien, id is 4)
3. Categorie drie (overslaan, id is niet 2)
dus: