Ankündigung

Einklappen
Keine Ankündigung bisher.

Dateiverzeichnis aus mysql Datenbank mit php rekursiv auslesen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dateiverzeichnis aus mysql Datenbank mit php rekursiv auslesen

    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:

    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

  • #2
    Hallo,

    Problem: Es geht nicht
    Super Erklärung, damit is' einfach...
    Bitte genauere Problembeschreibungen, ErrorReporting aufdrehen, Debugging, etc...
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      Grob geraten deine Check Funktion liefert immer true zurück und deshalb rennst du in eine enlosrekursion?
      Pre-Coffee-Posts sind mit Vorsicht zu geniessen!

      Kommentar

      Lädt...
      X