InFlame
Erfahrenes Mitglied
Hallo,
irgendwie habe ich das Gefühl, dass unter mir ein Feuerwehrschlauch durchläuft
Ich komme einfach nicht weiter.
Folgendes Problem:
Ich habe eine DB, in der Bestellungen erfasst werden. Jetzt möchte ich die Kunden, die bestellt haben aus der DB auslesen. Da jedoch mancher Kunde öfters bestellt, möchte ich jeden Kunden nur einmal auslesen (anhand von email), welche dann in eine andere DB geschrieben werden (nur die Bestell Nr). Ist alles auch kein Problem (mehr). Beim ersten Durchlauf funktioniert es auch. Leider liest er beim erneuten Aufrufen des Skriptes genau die Kunden aus, die er beim ersten durchlauf ignoriert hat (Mail gleich).
Jetzt habe ich die Email-Adressen der Kunden, die schon in der 2. DB stehen ausgelesen und versucht, zu überprüfen ob es die EMail schonmal gibt. Funktioniert soweit auch, bis auf, dass wenn neue Daten, also die noch nicht in der 2. DB stehen, dazukommen, er behauptet, dass es die schon in der DB gibt und somit nicht in die DB schreibt.
Hier ist das Skript.
Was stimmt hier denn nicht? Habe ich was übersehen? Wie kann ich sonst überprüfen, ob die Mailadresse schonmal vorhanden ist?
Ich hab das Gefühl, das ich gewaltig auf dem Schlauch stehe.
Bitte um Hilfe!!
Ich hoffe, ich habe halbwegs rüberbringen können, was ich meine und wo mein Problem ist?
irgendwie habe ich das Gefühl, dass unter mir ein Feuerwehrschlauch durchläuft
Ich komme einfach nicht weiter.
Folgendes Problem:
Ich habe eine DB, in der Bestellungen erfasst werden. Jetzt möchte ich die Kunden, die bestellt haben aus der DB auslesen. Da jedoch mancher Kunde öfters bestellt, möchte ich jeden Kunden nur einmal auslesen (anhand von email), welche dann in eine andere DB geschrieben werden (nur die Bestell Nr). Ist alles auch kein Problem (mehr). Beim ersten Durchlauf funktioniert es auch. Leider liest er beim erneuten Aufrufen des Skriptes genau die Kunden aus, die er beim ersten durchlauf ignoriert hat (Mail gleich).
Jetzt habe ich die Email-Adressen der Kunden, die schon in der 2. DB stehen ausgelesen und versucht, zu überprüfen ob es die EMail schonmal gibt. Funktioniert soweit auch, bis auf, dass wenn neue Daten, also die noch nicht in der 2. DB stehen, dazukommen, er behauptet, dass es die schon in der DB gibt und somit nicht in die DB schreibt.
Hier ist das Skript.
PHP:
// Hier lese ich alle Kunden aus, die noch nicht in der 2. DB (mtl_fragen_code) erfasst wurden)
$sql_besteller = mysql_query("SELECT ordIdNo,ordTitle,ordDate,ordLastName,ordZipCode,ordEMail
FROM dsb_order
LEFT JOIN mtl_fragen_code
ON (mtl_fragen_code.orderID=dsb_order.ordIdNo)
WHERE mtl_fragen_code.orderID IS NULL
AND dsb_order.ordDate
BETWEEN '20060101000000' AND NOW()-5000000
GROUP BY ordEMail
ORDER BY ordDate DESC") or die (mysql_error());
// Hier lese ich alle bereits erfassten Kunden aus, um Ihre Email Adressen zu bekommen
$sql_test = mysql_query("SELECT ordEmail
FROM dsb_order
LEFT JOIN mtl_fragen_code
ON (mtl_fragen_code.orderID=dsb_order.ordIdNo)
WHERE dsb_order.ordIdNo=mtl_fragen_code.orderID") or die (mysql_error());
$bla = mysql_fetch_array($sql_test);
//
while ($zeile=Mysql_fetch_array($sql_besteller)):
$ordIdNo = $zeile['ordIdNo'];
$ordDate = $zeile['ordDate'];
$name = $zeile['ordLastName'];
$plz = $zeile['ordZipCode'];
$mail_neu = $zeile['ordEMail'];
//
// Hier soll überprüft werden, ob die Mailadresse im Array der Abfrage ist, welche
// die bereits vorhandenen Daten ausließt.
//
$ka = NULL; // Variable zurücksetzten
$ka = in_array($mail_neu,$bla); // Überprüfen, ob Mail im array
if ($ka = FALSE) // Wenn keine Übereinstimmung gefunden wurde, dann tu das
{
// Hier steht was gemacht werden soll!
}
else
{
echo "<br>gleich"; // Testweise Ausgabe, dass EMail Adresse vorhanden ist.
}
endwhile;
Was stimmt hier denn nicht? Habe ich was übersehen? Wie kann ich sonst überprüfen, ob die Mailadresse schonmal vorhanden ist?
Ich hab das Gefühl, das ich gewaltig auf dem Schlauch stehe.
Bitte um Hilfe!!
Ich hoffe, ich habe halbwegs rüberbringen können, was ich meine und wo mein Problem ist?