Mailinglisten-Archive |
hamid irani wrote: > [...] also wenn ich dich einigermaßen richtig verstanden habe, dann besteht dein Problem lediglich darin das du nicht weiß wie du bei einem Fehler in der Datenbankabfrage verfahren kannst damit das Programm nicht abbricht sondern den Rest des Schrittes überspringt und zum nächsten Schritt springt? - wenn deine Verbindung zur DB fehlschlägt brauchst du aber auch den Rest des Scripts nicht - das erste Query ist, zumindest in dem gezeigten Ausschnitt, eh ohne Zweck - das zweite und dritte Query kannst du in einem erledigen, wozu zwei? http://pear.php.net/manual/en/package.database.db.php probiers mal damit: <?php //include "connect.php"; include "xclass_calc_date.php"; include_once "xget_email.php"; include_once "update_dealer.php"; include_once "xeskalation_update.php"; //include "xsearch_result.php"; include "Fehlermeldungen.php"; $Z24 = 86400; // 24 Stunden $Z48 = 172800; // 48 Stunden $Z3T = 259200; // 3 Tage $Z14T = 1209600; // 14 Tage //mysql verbindung $dsn = "mysql://$username:$password@$hostName/$databaseName"; // $dbh =& DB::connect($dsn); if (PEAR::isError($dbh)) { // es trat ein Fehler auf beim Verbinden // $db->getMessage() liefert dir den Fehlertext // wenn du keine Verbindung bekommst brauchst du wirklich nicht weitermachen // deshalb ein die() die($db->getMessage()); } //eskalationszeiten für offeneleads von händler aus der DB holen echo $sql = ' SELECT es1, es2 FROM eskalation WHERE type = "haendler"'; // wenn es nur eine Zeile liefern soll dann füge hier noch ein LIMIT 1 an /* echo $sql = ' SELECT es1, es2 FROM eskalation WHERE type = "haendler" LIMIT 1'; */ $row =& $dbh->getRow($sql, array(), DB_FETCHMODE_ASSOC); if (PEAR::isError($data)) { // es trat ein Fehler auf echo $row->getMessage() . "<br />\n"; } else { echo $open1 = $row['es1']; echo $open2 = $row['es2']; } // und wo wird $open1 und $open2 verwendet??? //sämtliche infos über offeneleads aus der DB holen //abfrage der Lead die einem VorOrtHänd. & OnlineHänd. zugewiesen wurden und im status offen stehen. echo $sql = ' SELECT lead.leadid, lead.name, lead.firm, lead.create_from, lead.number_refuse, lead.eska, leadzuweisung.bid FROM lead, leadzuweisung WHERE status_ LIKE "OFFEN" AND ( leadzuweisung.to_ LIKE "Vororthaendler" OR leadzuweisung.to_ LIKE "Onlinehaendler") AND ( leadzuweisung.leadid = lead.leadid AND leadzuweisung.Leadstatus = "OFFEN")'; $offeneLeads =& $db->getAll($sql); if (PEAR::isError($offeneLeads)) { die($offeneLeads->getMessage()); } $ob = new class_calc_date; $xx = 1; foreach($offeneLeads as $row) { echo $refuse = $row['number_refuse']; //Lead Info ausgabe //leadid ausgabe echo '-->leaid::' . $leadid = $row['leadid'] . "<br />\n<br />\n"; echo '-----------------------------------------' . "<br />\n"; echo ($xx++) . "<br />\n"; echo '-----------------------------------------' . "<br />\n"; echo '-->eska_status::' . ($eska_status = $row['eska']) . "<br />\n"; //from brauche ich um die verschiedenen rückläufe zu smb vb oder infoline zu steuern. echo '-->from::' . ($from = $row['create_from']) . "<br />\n"; //liefert die Erstellungszeit vom Lead und die aktuelle Zeit $val = $ob->get_assigned_date($leadid); //Berechnung der verstrichenen(vergangene) Zeit echo '-->lefttime: ' . ($left_time = $val[1] - $val[0]) . "<br />\n"; echo 'bid-->' . $row['bid']; //funktion zur verschicken der mails zum händler siehe xget_mail.php $val = get_hd_mail($row['bid']); echo $mailhd = $val[0]; echo $firmenname = $val[1]; echo $vbid = $val[2]; //funktion zur verschicken der mails zum VB siehe xget_mail.php $val = get_a_vb_mail($vbid); echo $mailvb = $val[0]; echo $region = $val[1]; echo $vlid = $val[2]; //funktion zur verschicken der mails zum VL siehe xget_mail.php echo $val = get_vl_mail($vlid); echo $mailvl = $val[0]; echo $vlid = $val[1]; //---------------------------------------------------- // und wo endet die foreach-schleife??? -- Sebastian Mendel www.sebastianmendel.de www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet
php::bar PHP Wiki - Listenarchive