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