Hallo. Ich habe in einem Shop die Artikelansicht umgebaut, so dass alle Artikel in der Datenbank anhand des Namens wie in einem Artikelbrowser durchgegangen werden können. Die Unterscheidung geschieht dabei durch den Namen, der Artikelmerkmale durch Abkürzungen darstellt.
Nun habe ich ein Problem, wenn ich eine Eigenschaft nachträglich ändern (also eine Art "zurück"-function nutzen) will. Es wird ein Query generiert, dass schon beim erstmaligen Durchstöbern der Artikel benutzt wurde, allerdings gibt dieses nun keinerlei Ergebnisse mehr aus. Wenn ich die SQL-Abfrage jedoch per echo ausgeben lasse und in phpMyAdmin eingebe, funktioniert alles perfekt.
(Anmerkung: die einfachen schrägen Anführungszeichen, die sonst die Feldnamen begrenzen, stehen in meinem Script, ich musste sie nur hier entfernen, da immer die Feldnamen gelöscht wurden.)
$subsql = trim(mysql_real_escape_string(strip_tags($_POST['old'])));$subquery = "SUBSTRING(pd.products_name, ".(strlen("$subsql ")+1).")";$sql = "SELECT pd.products_id, pd.products_name AS products_name_parts, $subquery AS products_short, LTRIM(SUBSTRING($subquery, 1, INSTR(TRIM($subquery), ' '))) AS products_name FROM ".TABLE_PRODUCTS_DESCRIPTION
." pd, ".TABLE_PRODUCTS_TO_CATEGORIES
." p2c, ".TABLE_CATEGORIES
." c WHERE pd.products_id=p2c.products_id AND p2c.categories_id='$current_category_id' AND INSTR(pd.products_name, '$subsql')='1' GROUP BY pd.products_name"; $_POST['old'] ist der Namensteil der Produkte, nach dem gesucht wrd, in diesem Fall:
'WDF R84_K W WD'
Der geparste sql-String:
SELECT pd.products_id, pd.products_name AS products_name_parts, SUBSTRING(pd., 17) AS products_short, LTRIM(SUBSTRING(SUBSTRING(pd., 17), 1, INSTR(TRIM(SUBSTRING(pd., 17)), ' '))) AS products_name FROM products_description pd, products_to_categories p2c, categories c WHERE pd.products_id=p2c.products_id AND p2c.categories_id='11' AND INSTR(pd.products_name, 'WDF R84_K W WD ')='1' GROUP BY pd.products_name
Die Namen der Produkte sind wiefolgt aufgebaut (nur als Anschauungsbeispiel):
WDF R84_H N WD AL 05/07 _ __ HAN
WDF R84_H N WD AL 05/09 _ __ HAN
WDF R84_H N WD AL 05/11 _ __ HAN
....
Ich hoffe, ihr könnt mir schnell helfen.
Linkback: https://www.modified-shop.org/forum/index.php?topic=11916.0