phpbar.de logo

Mailinglisten-Archive

[php] Alle Elemente eines Arrays verarbeiten

[php] Alle Elemente eines Arrays verarbeiten

Jörg Krause php_(at)_phpcenter.de
Thu, 17 May 2001 19:29:44 +0200


> Henrik Jahn wrote on Thursday, May 17, 2001 3:46 PM
> To: php_(at)_phpcenter.de
[...]
>
> Hallo zusammen,
>
> wie schaffe ich es, in einer query ALLE Elemente eines Arrays abzufragen?
> So sieht mein Beispiel aus:
>
>     foreach($suche as $val){
>
>     $result=mysqlquery("SELECT bla, blubb FROM schwall WHERE xy LIKE
> 'x$valx'")
> }
>
> Es wird immer nur das Ergebnis für das LETZTE element ausgegeben.
> Was mache ich falsch?
[...]
1) $result wird bei jeder Runde überschrieben : vorher retten
2) Man lerne (mal wieder) SQL:

	Zumindest nach der gezeigten Schreibweise ist LIKE nicht erforderlich,
	weil keine Platzhalter verwendet werden. Besser ist deshalb IN:

	$val = implode(",", $suche);  # macht aus Array eine Liste
	$val = "($val)";			# bastelt Klammern drum herum
	$result = mysql_query("SELECT bla, blubb FROM schwall WHERE xy IN $val");

    	Falls LIKE dennoch erforderlich ist und die x eigentlich % sein
	sollten, sei an REGEXP erinnert, damit lassen sich reguläre Ausdrücke
	in der DB ausführen, die bei kleinen Arrays eine Alternative sind:

	$val = implode("|"), $suche);
	$result = mysql_query("SELECT bla, blubb FROM schwall WHERE xy REGEXP
'$val'");

Jörg

----------------------------------------------------
E-Mail:  joerg_(at)_krause.net Info: www.joerg.krause.net
Kennen Sie schon den Topseller zu PHP4?
Hier gibt es die Infos: http://www.php.comzept.de
NEU: Die Referenz PHP 4! http://www.php.comzept.de/referenz
----------------------------------------------------



php::bar PHP Wiki   -   Listenarchive