phpbar.de logo

Mailinglisten-Archive

[php] letzter versuch

[php] letzter versuch

Sebastian Mendel lists at sebastianmendel.de
Don Aug 11 10:34:01 CEST 2005


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