Zouden jullie de volgende code willen bekritiseren.
Volgens mij zit het zo wel goed inelkaar, maar het kan vast nog beter:
En de bijbehorende database:
CREATE TABLE `project` (
`project_id` tinyint(4) NOT NULL default '0',
`project_parent` tinyint(4) NOT NULL default '0',
`project_name` varchar(25) NOT NULL default ''
) TYPE=MyISAM;
#
# Gegevens worden uitgevoerd voor tabel 'project'
#
INSERT INTO project VALUES (1,'','Opa');
INSERT INTO project VALUES (2,'','Oma');
INSERT INTO project VALUES (3,1,'Vader');
INSERT INTO project VALUES (4,3,'Kind');
INSERT INTO project VALUES (5,4,'Kind 2');
INSERT INTO project VALUES (6,2,'Moeder');
INSERT INTO project VALUES (7,6,'Kind 3');
Volgens mij zit het zo wel goed inelkaar, maar het kan vast nog beter:
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
27
28
29
30
31
32
33
34
35
36
37
| <? // Maak verbinding met de database include ("connect.php"); // De functie om de kinderen uit de database te krijgen function GetChildMsgs ($parent, $depth) { // Haal de gegevens van het kind uit de database $query = "SELECT * FROM project WHERE project_parent='$parent' ORDER BY project_id DESC"; $result = mysql_query($query); while ($row = mysql_fetch_array($result)) { // Schrijf deze gegevens weg in variabelen $id = $row["project_id"]; $parent = $row["project_parent"]; $name = $row["project_name"]; // Bepaal de inspring vanaf de kant (10 px. per niveau) $width = $depth * 10 ; // Schrijf commentaar in de html echo " <!-- ID = $id en parent = $parent. --> \n "; // Schrijf een tabel met daarin de gegevens van de child echo " <TABLE border=\"0\"><TR>\n "; echo " <TD width=\"$width\">&nbsp;</TD> \n "; echo " <TD>$name</TD> \n "; echo " </TR></TABLE>\n\n"; // En doe de functie nog een keer, maar dan één niveau dieper. GetChildMsgs($id, $depth+1); } } // Haal records met parent = "0" uit de db. GetChildMsgs($id, 0); ?> |
En de bijbehorende database:
CREATE TABLE `project` (
`project_id` tinyint(4) NOT NULL default '0',
`project_parent` tinyint(4) NOT NULL default '0',
`project_name` varchar(25) NOT NULL default ''
) TYPE=MyISAM;
#
# Gegevens worden uitgevoerd voor tabel 'project'
#
INSERT INTO project VALUES (1,'','Opa');
INSERT INTO project VALUES (2,'','Oma');
INSERT INTO project VALUES (3,1,'Vader');
INSERT INTO project VALUES (4,3,'Kind');
INSERT INTO project VALUES (5,4,'Kind 2');
INSERT INTO project VALUES (6,2,'Moeder');
INSERT INTO project VALUES (7,6,'Kind 3');