Hallo zusammen,
Folgendes Szenario: Anhand eines Strings soll überprüft werden in welcher Spalte einer MySQL-Tabelle sich ein solcher (ähnlicher) befindet. Er kann (und sollte) sich in einer von 7 Möglichen Spalten befinden. Die Spaltennamen sind durchnummeriert (pu_1 - pu_7).
Die Ähnlichkeitsabfrage habe ich mittels LIKE versucht zu lösen, bei manchen Testläufen klappt es, bei anderen klappt es selbst dann nicht wenn der String und der Tabelleninhalt identisch sind.
So sieht der PHP-Code aus:
Nun meine Frage ist wieso liefert SQL-Like bei einigen Versuchen einen Treffer und bei anderen nicht? Gibt es vielleicht eine elegantere Lösung für mein Problem?
Beispiel-Suchstrings wären:
- "2-Zi. Whg. 4 Betten"
- "4_zi whg 6 Betten"
Hoffe jemand kann mir helfen und im Voraus vielen Dank!
Viele Grüße,
gen
Folgendes Szenario: Anhand eines Strings soll überprüft werden in welcher Spalte einer MySQL-Tabelle sich ein solcher (ähnlicher) befindet. Er kann (und sollte) sich in einer von 7 Möglichen Spalten befinden. Die Spaltennamen sind durchnummeriert (pu_1 - pu_7).
Die Ähnlichkeitsabfrage habe ich mittels LIKE versucht zu lösen, bei manchen Testläufen klappt es, bei anderen klappt es selbst dann nicht wenn der String und der Tabelleninhalt identisch sind.
So sieht der PHP-Code aus:
PHP-Code:
for($i=1;$i<=7;$i++) {
$sql_gi = "SELECT * FROM Preistab_u WHERE ( pu_".$i." LIKE '%".$zi_art_clean."%' AND objektID = '".$_POST["objektID"]."')";
$res_gi = mysql_query($sql_gi);
$num_gi = mysql_num_rows($res_gi);
if($num_gi != 0) { $typ= $i; break; }
}
// $typ ist entscheidende Variable
// $zi_art_clean is der Suchstring und ist in einigen Fällen identisch mit dem Tabelleninhalt
Beispiel-Suchstrings wären:
- "2-Zi. Whg. 4 Betten"
- "4_zi whg 6 Betten"
Hoffe jemand kann mir helfen und im Voraus vielen Dank!
Viele Grüße,
gen
Kommentar