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)
immer noch array-Problem in select-Abfrage [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
immer noch array-Problem in select-Abfrage


 
Ralf
23-06-2002, 13:00 
 
Hallo,

über ein Auswahlfeld bekomme ich folgende Variable:
$Objekttyp = Aussiedlerhof,Bauernhaus,Bauernhof

ich möchte folgende Abfrage:
select .... where ObjArt IN (‘Aussiedlerhof‘,‘Bauernhaus‘,‘Bauernhof‘) order by ...

wobei aber der Ausdruck in Klammern ein Array ist.

wenn ich
$Objekttyparray = explode(",",$Objekttyp); setze, dann müßte doch folgendes gehen:
select .... where ObjArt IN (Objekttyparray) order by ...

das Array $Objekttyparray wird zwar ‚gefüllt‘ (Ausgabe mit echo $Objekttyp[0] etc) aber für die select – Anweisung bekomme ich immer folgende Fehlermeldung:
Unknown column 'Array' in 'where clause'

Weiß da jemand weiter?

 
goth
23-06-2002, 13:52 
 
Warum probierst Du's nicht mal in die andere Richtung:

$Objekttyparray = implode(",",$Objekttyp);

 
Ralf
24-06-2002, 10:45 
 
$Objekttyp = Aussiedlerhof,Bauernhaus,Bauernhof
ist doch schon eine Zeichenkette (implode wäre da nicht die richtige Lösung und bringt dann eh eine Fehlermeldung). Das Problem ist, wie mache ich aus obiger $Objekttyp so daß sie lautet:
$Objekttyp = ('Aussiedlerhof', 'Bauernhaus','Bauernhof'), denn nur wenn die Begriffe zwischen '' stehen, geht auch die Funktion
select ... where Objart IN $Objekttyp

Wie erreiche ich hier die Transformation?

 
goth
24-06-2002, 14:41 
 
Du schriebst was von: "(Ausgabe mit echo $Objekttyp[0] etc)" ... also einem Array $Objecttype ...

Trotz allem kannst Du nur was mit einem String anfangen und nicht mit einem Array:


$Objekttyparray = explode(",",$Objekttyp);
$stat="select .... where ObjArt IN ('".implode("','", $Objekttyparray)."') order by ...

 
Ralf
25-06-2002, 12:33 
 
Hallo goth,

so funktionierts nun , danke dir, ich habe geglaubt der Ausdruck mit select .... where $variable IN (....) müßte einen Array in der Klammer stehen haben. Dem ist wohl nicht so.
Ich habs etwas geändert in:


.....where (ObjArt like '%".implode("%' or ObjArt like '%",$Objekttyparray). "%') && ....


Gruß Ralf


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:44 Uhr.