Datensatz aus MySQL Datenbank auslesen mit Bedingung

  • Hallo,


    Ich möchte aus der Datenkbank die ID's auslesen und den Status = 0.
    Dann möchte ich eine Virabel erhören wenn der Status = 0 ist.


    Code:


    PHP
    $sql = UCP_Framework::getDB()->sendQuery("SELECT * FROM `ucp_beschwerden` WHERE ID = '%d' AND Status = '0'");
    		while($row = UCP_Framework::getDB()->fetchArray($sql)) 
    		{
    			$this->StatusNumer[] = $row;	
    		}		
    		$this->AnzahlTicktes ++
  • Ich bin mir nicht sicher ob ich deine Frage, bzw. dein Problem richtig verstanden habe. Wenn, dann müsste das:

    PHP
    $this->AnzahlTicktes ++


    doch in die while Schleife rein, weil du gehst ja mit der while Schleife durch alle Beschwerden (?), welche eine bestimmte ID und den Status 0 haben.


    Außerdem, hast du hier nicht vergessen, den Wert für ID anzugeben? :whistling:

    PHP
    sendQuery("SELECT * FROM `ucp_beschwerden` WHERE ID = '%d' AND Status = '0'");
  • wieso nutzst du Platzhalter ist das überhaupt gewollt ?


    so sollte der SQL-Befehl normal aussehen um alle Datensätze auszulesen, welche den Status 0 haben :


    SQL
    SELECT * FROM `ucp_beschwerden` WHERE Status = '0';


    Bei dem Code hast ebenfalls mehrere Fehler

    Code
    while($row = UCP_Framework::getDB()->fetchArray($sql)) 
            {
                $this->StatusNumer[] = $row;    
            }        
    $this->AnzahlTicktes ++


    Du bekommst die Anzahl der gesamten Tickets nur, wenn du dir eine Funktion machst mit deinem bisherigen Code und in einer Schleife die Datensatze einzeln ausliesst.


    So wie der Code momentan von dir ist, wird beim auslesen aller Daten dein Array jedes mal überschrieben so wirst du in dem Array $this->StatusNumer[] nur den letzten Datensatz haben, den du ausliesst.


    Lösung:


    Code
    while($row = UCP_Framework::getDB()->fetchArray($sql)) 
            {
                $this->StatusNumer[$this->AnzahlTicktes ++] = $row;    
            }


    Theoretischer Ablauf (sehr oberflächlich - Das Zeichen | dient nur zur Untergliederung der einzelnen Inhalt der Spalten):


    Zitat

    $this->StatusNumer[0] = "0|Blub"
    $this->StatusNumer[1] = "1|Blub"
    $this->StatusNumer[2] = "2|Blub"

  • Wie definierst du funktioniert nicht , lass dir den inhalt mal via
    var_dump ausgeben.


    Es ist natürlich logisch das innerhalb deines templates nix ausgegeben wird, da du ein 2 dimensionales Array nun hast
    Daher müsstest du noch den zweiten index angeben um dessen inhalt im template sichtbar zu machen.