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!
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.
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.
Kommentar