Problem mit Klassen Verwendung

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

  • Problem mit Klassen Verwendung

    Guten Morgen,

    Ich versuche über eine Klasse 3 Mysql Select Querys auszuführen.
    diese habe ich jeweils in eine function gepackt.
    Wenn ich aber nun das Script verwende, bekomm einen foreach Fehler.
    Also offensichtlich, übermittle ich die Daten falsch.

    Lange rede kurzer Sinn, ich komme aktuell nicht weiter.

    Wer will mir helfen?

    Hier der Teil des Scripts wo ich die Methoden der Klasse verwende, die entsprechenden Variablen bekomme ich der POST aus einem Formular!

    PHP-Code:
    $inbox '14';

    $CandyLog = new CandyLogger();
    $CandyLog->info("Qualitätsreport Abfrage gestartet");


    //Wichtig sind die MEtohdenaufrufe an hier!!!!

    $q = new qreport();
    $q->setLogger($CandyLog);
    $q->flag($_POST['flag'], $_POST['beginn'], $_POST['ende']);
    #$q->setBegin($_POST['beginn']);
    #$q->setEnd($_POST['ende']);
    $q->casedata($_POST['beginn'], $_POST['ende'], $_POST['kw'], $inbox);
    $q->qualquery($inbox);

    $res $q->qualquery($inbox);

        if (
    PEAR::isError($res)) {
            
    $CandyLog->error("Der Report konnte aufgrund einen Fehlers nicht erstellt werden! (".$res->getMessage().")");
        }

    $CandyLog->info("Qualitätsreport für" $_POST['kw'] . "erstellt!!");


    //Hier nun die Klasse. Ich hoffe es ist nicht zu viel zum anschauen.

    class qreport {

    private 
    $log false;
    private 
    $inbox false;
    private 
    $kw NULL;
    private 
    $beginn false;
    private 
    $ende false;

        function 
    setLogger($log) {
            
    $this->log $log;
        }
    /*
        function setBegin($beginn) {
            $this->beginn = $beginn;
        }
        
        function setEnd($ende) {
            $this->ende = $ende;
        }

        function setkw($kw) {
            $this->kw = $kw;
        }

        function setflag($flag) {
            $this->flag = $flag;
        }
    */
        
    function flag($flag$beginn$ende) {
            
            if(
    $_POST[flag]==1) {
            
    //leerstellen entfernen
                
    $_POST[beginn]=trim($_POST[beginn]);
                
    $_POST[ende]=trim($_POST[ende]);
            
            
    //evtl.vorhandenen HTML-Code entfernen
                
    $_POST[beginn]=trim($_POST[beginn]);
                
    $_POST[ende]=strip_tags($_POST[ende]);
        
                if(!
    $_POST[beginn] && !$_POST[ende] && !$_POST[kw]){$fehler.="Bitte geben Sie Daten ein. <br><br>";}
            }

            if(
    $fehler) {
                
    $meldung="<span style=\"color: red\">".$fehler."</span>";
                unset(
    $_POST[flag]);

            echo 
    $fehler;
            }
        }

        function 
    casedata($beginn$ende$kw$inbox) {

            if (
    $beginn && $ende) {
        
            
    $db DB::connect(CANDY_DSN);
        
            
    $kw "AND DATE(c.erstellt) >= DATE('".$beginn."') 
                AND DATE(c.erstellt) <= DATE('"
    .$ende."') ";
            }

            if (
    $kw) {
            
    #$Daten = preg_split('/ /', $_POST[kw]);
            
    $Daten split(' '$kw);
            
    $kw "AND DATE(c.erstellt) >= DATE('".$Daten[0]."') AND DATE(c.erstellt) <= DATE('".$Daten[1]."') ";
            }

            
    $data "SELECT c.* FROM `Case` AS c 
            JOIN Inbox AS i USING (inboxID) 
            WHERE i.inboxID IN ("
    .$inbox.") ".$kw." ";

            
    $res $db->getAll($data, array(), DB_FETCHMODE_ASSOC);
        
            if (
    PEAR::isError($res)) {
                return 
    $res;
            }
            return 
    $res;
        }

        function 
    aw($antwort) {

            
    $db DB::connect(CANDY_DSN);
            
    $ret = array();
            for (
    $i=1$i <= 10$i++) {
                
    $akt = new stdClass();
                
    $selc "SELECT c.case_aw".$i."ID FROM Case AS c ";
                
    $akt->$this->$selc;
                
    $aw "JOIN Case_aw$i ";
                
    $akt->$this->$aw;
                
    $as "AS aw$i ";
                
    $akt->$this->$as;
                
    $on "ON c.case_aw".$i."ID = ";
                
    $akt->$this->$on;
                
    $v "aw".$i.".case_aw".$i."ID";
                
    $ret[] = $akt;
            
                
    $q $db->getAll($ret, array(), DB_FETCHMODE_ASSOC);
                    if (
    PEAR::isError($q)) {
                        return 
    $q;
                    }
            }
        }

        function 
    q($plz) {

            
    $db DB::connect(CANDY_DSN);
            
    $akt1 = new stdClass();
            
    $qua "SELECT c.plz FROM `Case` AS c ";
            
    $akt1->$this->$qua;
            
    $qplz "JOIN qplz AS qp ON c.plz = qp.plz ";
            
    $akt1->$this->$qplz;
            
    $qmsc"JOIN qmsc AS qm ON c.plz = qm.plz";
            
    $akt1->$this->$qmsc;
            
            
    $q1 $db->getAll($akt1, array(), DB_FETCHMODE_ASSOC);
                if (
    PEAR::isError($q1)) {
                    return 
    $q1;
                }
        }

        function 
    qualquery($inbox) {

            if (
    $this->begin === false || $this->end === false) {
                return 
    false;
            }

            
    $res qreport::casedata($beginn$ende$kw$inbox)
            
            foreach (
    $res as $aw) {
                
    $antwort $aw['case_awID'];
                
    $erg qreport::aw($antwort);
                if (
    PEAR::isError($erg)) return $res;
            }

            foreach (
    $res as $plz) {
                
    $qplz $qp['plz'];
                
    $erg qreport::q($qplz);
                if (
    PEAR::isError($erg)) return $res;
            }    
        
            return 
    true;
        }



    Als Fehler komtm beim Ausführen:

    arse error: syntax error, unexpected T_FOREACH in /Pfad/zur/Datei//erg.php on line 142


    Danke... Ist doch bissi lang, aber kann mich nicht entscheiden was ich weg lassen soll.
    gruss pedro

  • #2
    PHP-Code:
    $res qreport::casedata($beginn$ende$kw$inbox)
            
            foreach (
    $res as $aw) { 
    na was könnte denn hier fehlen ?

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      ja was fehlt?

      ja was fehlt?


      oh mann ich sitz auf dem Schlauch ;o(

      er sagt ja unerwartete T variable.

      Aber ich setze die Variable doch da?

      PHP-Code:
      //hier! $res und dann geh ich foreach durch??

      $res qreport::casedata($beginn$ende$kw$inbox)
              
              foreach (
      $res as $aw) { 
      gruss pedro

      Kommentar


      • #4
        oh oh oh

        oh mann.... Es fehlt ; !!!

        Etz hab ich es ;o(
        gruss pedro

        Kommentar


        • #5
          Re: Problem mit Klassen Verwendung

          Ich wusste doch schon immer php ist vulgär

          Original geschrieben von petro_0
          arse error: syntax error, unexpected T_FOREACH in /Pfad/zur/Datei//erg.php on line 142


          greets
          (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

          Kommentar

          Lädt...
          X