Hallo Ihr,
ich hoffe ihr könnt mir helfen. Ich habe 2 Tabellen:
1. Tabelle orders mit den benötigten Feldern orders_id, address_book_id und delivery_name
2.Tabelle adress_book mit den benötigten Feldern address_book_id, entry_gender, entry_firstname und entry_lastname.
Ich möchte dann einen Datensatz aus der 1. Tabelle aus auslesen und suche dann mit der erhaltenen address_book_id in der 2. Tabelle und muss dann noch den delivery_name mit entry_firstname+ ' ' + entry_lastname vergleichen. Bei Gleichheit interessiert mich der entry_gender.
Wenn ich diesen Wert gefunden habe, will ich einer Variablen einen Wert zuweisen, den ich als Anrede im html File benutzen möchte.
Soweit zur Theorie, ich habe es so probiert:
Das Problem das ich jetzt habe ist folgendes. Zu der herausgefundenen address_book_id existieren 3 Einträge mit unterschiedlichen Namen. Ich bekomme aber nicht wie erwartet einen Datensatz als Ergebnis sondern alle 3.
Liegt mein Fehler jetzt in der Abfrage (und wenn ja wo?) oder muss ich das ganze aufteilen in 2 Abfragen, deren Ergebnisse ich dann vergleichen muss. Ich komme einfach nicht weiter, ich hoffe ihr könnt mir helfen. Meine php grundkenntnisse stoßen an Ihre Grenzen.
yummi
ich hoffe ihr könnt mir helfen. Ich habe 2 Tabellen:
1. Tabelle orders mit den benötigten Feldern orders_id, address_book_id und delivery_name
2.Tabelle adress_book mit den benötigten Feldern address_book_id, entry_gender, entry_firstname und entry_lastname.
Ich möchte dann einen Datensatz aus der 1. Tabelle aus auslesen und suche dann mit der erhaltenen address_book_id in der 2. Tabelle und muss dann noch den delivery_name mit entry_firstname+ ' ' + entry_lastname vergleichen. Bei Gleichheit interessiert mich der entry_gender.
Wenn ich diesen Wert gefunden habe, will ich einer Variablen einen Wert zuweisen, den ich als Anrede im html File benutzen möchte.
Soweit zur Theorie, ich habe es so probiert:
PHP-Code:
$gender_payment= xtc_db_query("SELECT address_book.entry_gender
FROM orders
INNER JOIN address_book ON orders.customers_id = address_book.customers_id
WHERE (
((address_book.entry_firstname+' '+address_book.entry_lastname) = (orders.delivery_name) )
AND (orders.orders_id = ".(int)$_GET['oID'].")
));
if ($gender_payment = "f")
$smarty->assign('gender_payment, "Frau");
elsif ($gender_payment = "m")
$smarty->assign('gender_payment, "Herrn");
else
$smarty->assign('gender_payment, "Firma");
Liegt mein Fehler jetzt in der Abfrage (und wenn ja wo?) oder muss ich das ganze aufteilen in 2 Abfragen, deren Ergebnisse ich dann vergleichen muss. Ich komme einfach nicht weiter, ich hoffe ihr könnt mir helfen. Meine php grundkenntnisse stoßen an Ihre Grenzen.
yummi
Kommentar