phpbar.de logo

Mailinglisten-Archive

[php] letzter versuch

[php] letzter versuch

hamid irani al_caponeiran at hotmail.com
Mit Aug 10 11:30:11 CEST 2005


also schön leute ! das tut mir echt leid aber das problem ist das ich selbst 
nicht 100% verstanden habe wo das problem liegen könnte ! deswegen sind 
meine fragen auch so unpräzise...aber gut ein letztes mal...dann lass ich 
es!!!
schaut euch bitte mal die WHILE schleife an (ist markiert) und die abfrage 
unten drunter!
die while schleife bricht ab immer wenn in der abfrage unten drunter die 
nötigen parameter fehlen! weil es in meiner mysql DB keine kreutabellen 
gibt! in mysql gibt es auch sowas gar nicht! aber man hat mir gesagt das 
problem lässt sich folgendermaßen lössen! ich soll ne 
fehlerbehandlungsroutine schreiben und die in der WHILE schleife aufrufen!
Die fehlermeldung soll folgendes tun : sie soll bei bei jeder 
Datenbankabfrage,
die nicht ausgeführt werden kann, eine Fehlermeldung in eine Datei schreibt 
und zum nächsten Eintrag springen  also
die Bearbeitungschleife nicht einfach abbrechen!

DIe while schleife muss irgendwie über die nicht ausführbaren sql abfragen 
rüberspringen und eine fehlermeldung ausgeben ! also den zähler irgendwie 
auf i= i+2 oder so...
Wenn das immer noch niemand versteht dann tut es mir leid aber besser kann 
ich es auch nicht erklären ! sorry für die belästigung!!!!!
#!/usr/bin/php
<?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);


	//eskalationszeiten für offeneleads von händler aus der DB holen
	echo $sql = "SELECT es1,
						es2
				 FROM  	eskalation
				 WHERE  type = 'haendler'";

	$sth = $dbh->query($sql);
	echo "<br>";
	$obd = Fehlermeldungen::fehler_query($sql);
	echo $obd;
	$obdd = Fehlermeldungen::field_error_eska_trader($sql);
	echo $obdd;
	echo "<br>";
	$obs = Fehlermeldungen::fehler_log_trader($sql);
	echo $obs;
	echo '<br>';
	//DB standart abbruch , falls fehler auftreten
	$obd = Fehlermeldungen::db_fehler($sth);
	echo $obd;
	echo '<br>';
	$row = $sth->fetchRow(DB_FETCHMODE_ASSOC);
	//offene esk1,2 ausgabe
	echo $open1 = $row['es1'];
	echo $open2 = $row['es2'];
	echo "<br>";
	//DB verbindung ende
	$dbh->disconnect();
	$ob = new class_calc_date;
	$i=0;
	$offeneLeads = array();
	$dsn = "mysql://$username:$password@$hostName/$databaseName";
	$dbh = DB::connect($dsn);
	//IDs aus DB holen

	echo $sql = "SELECT 		lead.leadid
    	 		 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')";


	$sth = $dbh->query($sql);
	echo "<br>";
	//abfangroutine , falls abfrage nicht ausgeführt wird
	$obd = Fehlermeldungen::fehler_query($sql);
	echo $obd;
	$obs = Fehlermeldungen::fehler_log_trader($sql);
	echo $obs;
	echo '<br>';
	$obdd = Fehlermeldungen::field_error_trader_vb($sql);
	echo $obdd;
	echo '<br>';
	//abfangroutine , DB fehler
	$obd = Fehlermeldungen::db_fehler($sth);
	echo $obd;
	echo '<br>';
	$dbh->disconnect();
	$xx=1;
	//ausgabe LeadIDs
-----------------------------------------------------------------------------------------------------------

	while($row = $sth->fetchRow(DB_FETCHMODE_ASSOC))
	{

		echo "<br>#################################<br>";
		echo $offeneLeads[$i++]= $row[leadid];
		echo "<br>#################################<br>";
	}



	foreach($offeneLeads as $lid)
	{
		$dsn = "mysql://$username:$password@$hostName/$databaseName";
		$dbh = DB::connect($dsn);


		//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.


		$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')
			    AND		lead.leadid = ".$lid."";
-------------------------------------------------------------------------------------------------------------

		echo $sql;
		$sth = $dbh->query($sql);
		echo "<br>";
		$obd = Fehlermeldungen::fehler_query($sql);
		echo $obd;
		echo '<br>';
		$obs = Fehlermeldungen::fehler_log_trader($sql);
		echo $obs;
		echo "<br>";
		//DB standart abbruch , falls fehler auftreten
		$obd = Fehlermeldungen::db_fehler($sth);
		echo $obd;
		//DB verbindung ende
		$dbh->disconnect();
		$xx=1;
		$row = $sth->fetchRow(DB_FETCHMODE_ASSOC);
		echo $refuse = $row[number_refuse];
		//Lead Info ausgabe
		echo "-->leaid::".$leadid = $row[leadid];//leadid ausgabe
		echo "<br>";
		echo "<br>-----------------------------------------<br>";
		echo $xx++;
		echo "<br>-----------------------------------------<br>";
		echo "-->eska_status::".$eska_status = $row['eska'];
		echo "<br>";
		//from brauche ich um die verschiedenen rückläufe zu smb vb oder infoline 
zu steuern.
		echo "-->from::".$from = $row[create_from];
		echo "<br>";
		//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];
		echo "<br>";
		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];



		//----------------------------------------------------



php::bar PHP Wiki   -   Listenarchive