Hey,
ich habe ein kleines Problem. Ich möchte in einer Klasse mittels zweier Funktionen meine Verzeichnisstruktur aus der Datenbank auslesen. Problem: Es geht nicht
Das ganze wird per ajax aufgerufen. Funktioniert auch alles nur eben die Rekursion will einfach nicht so wie ich will.
Folgend mal der Auszug aus meiner Klasse:
Anmerkung: Der Fehler müsste beim Selbstaufruf der Klasse liegen. Sobald ich die Zeile hinzufüg geht der Code nicht mehr ( $echo_files .= $this->get_dir($row[0]); ).
Danke schon mal vor ab,
Grüße David
ich habe ein kleines Problem. Ich möchte in einer Klasse mittels zweier Funktionen meine Verzeichnisstruktur aus der Datenbank auslesen. Problem: Es geht nicht
Das ganze wird per ajax aufgerufen. Funktioniert auch alles nur eben die Rekursion will einfach nicht so wie ich will.
Folgend mal der Auszug aus meiner Klasse:
PHP-Code:
class file_management {
// Variable für Datenbankverbindung
private $db_connect;
//--Datenbankverbindung aufbauen im Konstruktor -
//-----------------------------------------------
public function __construct(){
// Neues Objekt mit Datenbankverbindung
$database = new database();
$db = $database->get_db();
$this->db_connect = $db;
}
public function get_dir($parent_id) {
$echo_files = "";
$stmt = $this->db_connect->prepare("SELECT dir_id, dir_name FROM tbl_dirs WHERE dir_parent_id=:dir_parent_id AND user_id=:user_id");
$stmt->bindparam(':dir_parent_id', $parent_id);
$stmt->bindparam(':user_id', $_SESSION["user_id"]);
$stmt->execute();
while($row = $stmt->fetch()) {
if($this->proof_child_dir($row[0])) {
$echo_files .= "<li>".$row[1]."<ul>";
$echo_files .= $this->get_dir($row[0]);
$echo_files .= "</ul></li>";
} else {
$echo_files .= "<li>".$row[1]."</li>";
}
}
echo json_encode($echo_files);
}
public function proof_child_dir($child_id) {
$stmt = $this->db_connect->prepare("SELECT dir_id FROM tbl_dirs WHERE dir_parent_id=:dir_parent_id AND user_id=:user_id");
$stmt->bindparam(':dir_parent_id', $child_id);
$stmt->bindparam(':user_id', $_SESSION["user_id"]);
$stmt->execute();
if($subrow = $stmt->fetch()>0){ return true;}
else {return false;}
}
Anmerkung: Der Fehler müsste beim Selbstaufruf der Klasse liegen. Sobald ich die Zeile hinzufüg geht der Code nicht mehr ( $echo_files .= $this->get_dir($row[0]); ).
Danke schon mal vor ab,
Grüße David
Kommentar