Items en subitems
Roel
09/12/2009 22:43:00Ik wil een structuur maken waarbij je onbeperkt subitems kunt toevoegen. Ik heb in mijn tabel al de kolommen parent en level toegevoegd. Parent is het id van de parent en level is hoeveel parents het item heeft. Als ik ze uit de database wil tonen moeten de subitems inspringen. Ik heb het nu zover dat hij bij voor elk level 2 spaties toevoegd, wat er nu nog moet gebeuren is dat de subitems onder het parentitem komen te staan. Hoe krijg ik dit voor elkaar? Ik ben al een half uur aan het nadenken maar ik kom er niet op... Ik heb in elk geval de items al in een array gezet.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$i = 0;
while ($db->nextRecord())
{
$pages[$i]["id"] = $db->f("id");
$pages[$i]["level"] = $db->f("level");
$pages[$i]["parent"] = $db->f("parent");
$pages[$i]["title"] = $db->f("title");
$pages[$i]["disabled"] = $db->f("disabled");
$i++;
}
foreach ($pages as $key)
{
echo "<tr><td>";
$spaceCounter = 0;
$spaces = NULL;
while ($spaceCounter < $key["level"])
{
$spaces .= " ";
$spaceCounter++;
}
echo $spaces.$key["title"];
echo "</td></td>\n";
}
?>
$i = 0;
while ($db->nextRecord())
{
$pages[$i]["id"] = $db->f("id");
$pages[$i]["level"] = $db->f("level");
$pages[$i]["parent"] = $db->f("parent");
$pages[$i]["title"] = $db->f("title");
$pages[$i]["disabled"] = $db->f("disabled");
$i++;
}
foreach ($pages as $key)
{
echo "<tr><td>";
$spaceCounter = 0;
$spaces = NULL;
while ($spaceCounter < $key["level"])
{
$spaces .= " ";
$spaceCounter++;
}
echo $spaces.$key["title"];
echo "</td></td>\n";
}
?>
PHP hulp
22/12/2024 18:04:56Jan Koehoorn
09/12/2009 23:06:00Je bent bezig met het opslaan van hierarchische items in een database. Lees hiervoor dit artikel:
http://articles.sitepoint.com/print/hierarchical-data-database
http://articles.sitepoint.com/print/hierarchical-data-database