Pfeiffer
20-04-2001, 11:29
Hi,
wie kann man eigentlich in einer select-Anweisung der Form
select * from Tabelle where Stadt IN ('Genf', 'Stuttgart') mit Platzhaltern arbeiten der Form
select * from Tabelle where Stadt IN ('Ge%', 'Stut%')
So mit % funktionierts nicht! hat jemand ne Lösung
Thanks, cu Ralf
Hi
So könnte es auch gehen
select * from Tabelle where
Stadt like '%Genf%'
Gruß
Arni
jupp. Die Platzhalter funktionieren nur mit like ...
wenn du also ein array $suche = array ('Ge%','Stut%') hast, bekommst du eine saubere query mit
$query = 'select * from Tabelle where Stadt like '.implode (' and Stadt like ',$suche);
Pfeiffer
21-04-2001, 13:12
Tolle Lösung Titus - Danke, funktioniert, und danke auch an Arni,
aber in diesem Zusammenhang hat sich ein anderes Problem gezeigt.
nähmlich dieses:
In einer Tabelle hab ich das Feld 'Stadt'.
der 1. Datensatz hat in diesem Feld die Einträge
'Köln, München, Stuttgart'
der 2. Datensatz in diesem Feld die Einträge
'Hamburg, Genf'
wenn ich nun habe
$suche =array ('%Ge%', '%Stut%')
$query = 'select * from Tabelle where Stadt like 'implode ('or Stadt like',$suche);
dann werden beide Datensätze nicht berücksichtigt obwohl Datensatz 1 im Feld Stadt den Wert Stuttgart hat und Datensatz 2 im selben Feld den Wert Genf!
Gibts hierfür noch eine Lösung?
Pfeiffer
21-04-2001, 16:54
nochmal ich,
steckt die Lösung vielleicht in regulären Ausdrücken, preg()-Funktionen begraben?
Ralf
die Lösung steckt darin, dem implode noch ein paar Leerzeichen zu spendieren:
implode ('(LEERZEICHEN)or Stadt like(LEERZEICHEN)',$suche)