Howdy,
I am trying to output a folder tree based on a file structure I have.
So here is the way the database is laid out.
directoryID | pageID | nestedID | nestedDepth | name | incname
directoryID is auto incremeted,
pageID is not needed for this help
nestedID is what is looked for to output the correct file structure
nestedDepth is the file depth from the root folder
Here is my code:
mysql_select_db($database_ControlPanel, $ControlPanel);
$query_getDirectorys = "SELECT * FROM cp_directory WHERE nestedID = '0'";
$getDirectorys = mysql_query($query_getDirectorys, $ControlPanel) or die(mysql_error());
$totalRows_getDirectorys = mysql_num_rows($getDirectorys);
if($totalRows_getDirectorys != 0){
while($fb = mysql_fetch_array($getDirectorys)){
echo "<li><strong>".$fb['name']."</strong></li>\n";
echo outputFolders($fb['directoryID']);
}
}
And here is the function "outputFolders" which is called
function outputFolders($id){
global $database_ControlPanel, $ControlPanel;
mysql_select_db($database_ControlPanel, $ControlPanel);
$query_f = "SELECT * FROM cp_directory WHERE nestedID = '".$id."'";
$f = mysql_query($query_f, $ControlPanel) or die(mysql_error());
$totalRows_f = mysql_num_rows($f);
$folder = "";
if($totalRows_f != 0){
$folder .= "<ul class=\"folders\">\n";
while($fa = mysql_fetch_array($f)){
$folder .= "<li><strong>".$fa['name']."</strong></li>\n";
mysql_select_db($database_ControlPanel, $ControlPanel);
$query_n = "SELECT * FROM cp_directory WHERE nestedID = '".$fa['directoryID']."'";
$n = mysql_query($query_n, $ControlPanel) or die(mysql_error());
$totalRows_n = mysql_num_rows($n);
if($totalRows_n != 0){
$folder .= "<ul class=\"folders\">\n";
while($fc = mysql_fetch_array($n)){
$folder .= "<li><strong>".$fc['name']."</strong></li>\n";
mysql_select_db($database_ControlPanel, $ControlPanel);
$query_na = "SELECT * FROM cp_directory WHERE nestedID = '".$fc['directoryID']."'";
$na = mysql_query($query_na, $ControlPanel) or die(mysql_error());
$totalRows_na = mysql_num_rows($na);
if($totalRows_na != 0){
$folder .= "<ul class=\"folders\">\n";
while($fd = mysql_fetch_array($na)){
$folder .= "<li><strong>".$fd['name']."</strong></li>\n";
}
//echo outputFolders($fa['directoryID']);
$folder .= "</ul>\n";
}
}
//echo outputFolders($fa['directoryID']);
$folder .= "</ul>\n";
}
}
$folder .= "</ul>\n";
}
return $folder;
}
For the function I basicly have the same code repeated to keep outputing nests.
Now I have tried to just recall the "outputFolders" function inside itself but that doesnt put it under the right folder.
Any help will be great apprieacted.