Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
select .... where ....IN ( ...) [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
select .... where ....IN ( ...)


 
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

 
Arni
20-04-2001, 13:12 
 
Hi
So könnte es auch gehen
select * from Tabelle where
Stadt like '%Genf%'

Gruß
Arni

 
Titus
20-04-2001, 14:46 
 
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

 
Titus
24-04-2001, 14:49 
 
die Lösung steckt darin, dem implode noch ein paar Leerzeichen zu spendieren:

implode ('(LEERZEICHEN)or Stadt like(LEERZEICHEN)',$suche)


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:45 Uhr.