# Array an PHP-Script übergeben



## Grimreaper (25. August 2003)

Ich möchte einen query in mehreren Spalten einer Tabelle durchführen.

Die mehrfach-Auswahl im Formular habe ich so definiert:
<select name="queryIN[]" size="4" multiple>

Danach versuch ich mit
 $queryIN[] = $HTTP_POST_VARS["queryIN"];
das übergebene Array auszulesen.

Der Query müsste dann irgendwie so aussehen:
$sql_query = "SELECT * FROM gene WHERE ".queryIN[1]." LIKE '".$queryFOR  OR  ".queryIN[2]." LIKE '".$queryFOR usw.

Allerdings funktioniert das irgendwie nicht. Das array wird nicht richtig übergeben. Versuche ich mir den Inhalt des arrays mit print_r anzuzeigen erhalte ich

"Array ( [0] => Array ( [0] => gen_name [1] => expression ) ) "

(gen_name und expression sind die ausgewählten Einträge)

Mache ich aber folgendes;
$col=implode(",",$queryIN);
echo "<p>".$col."<br>";

erhalte ich nur "Array". Wie bekomme ich also gen_name und expression aus dem Array für die Abfrage, ohne wie oben jedes Element einzeln anzugeben (wobei ich nicht mal weiß, ob das so funktioniert)?

mfg Grimreaper


----------



## melmager (25. August 2003)

statt den: 

$queryIN[] = $HTTP_POST_VARS["queryIN"];

bitte das machen:

 $queryIN = $HTTP_POST_VARS["queryIN"];

oder sowas:

echo $_POST['queryIn['genName']'];


----------



## Crazy Bytes (25. August 2003)

Hi,
du hast einen Fehler in deinem Formular. Es muss nicht


> <select name="queryIN[]" size="4" multiple>


heissen, sondern
<select name="queryIN" size="4" multiple>
also ohne die eckigen Klammern, sonst packst du das Array in ein Array rein.
deswegen auch


> Array ( [0] => Array ( [0] => gen_name [1] => expression ) )



ich hoffe ich konnte helfen
Bis dann
CB


----------



## Grimreaper (26. August 2003)

Jawoll, danke Leute!  Was hatte ich gestern bloß fürn ein Brett vorm Kopf, dass ich nicht bemerkte, dass ich das Array in ein Array gesteckt habe...

mfg Grimreaper


----------



## SonicBe@m (26. August 2003)

Crazy was bitte redest du da?
Wenn du mit html ein Array an Php übergeben willst dann musst du den Namen mit [] schreiben da du sonst kein array erhälst.
Natürlich must du auf der anderen Seite dieses Array dann einer Variable zuordnen und nicht einem weiteren Array!

```
<input type="text" name="test[]" value="1">
<input type="text" name="test[]" value="2">
<input type="text" name="test[]" value="3">
<input type="text" name="test[]" value="4">
<input type="text" name="test[]" value="5">

<?
foreach($test as $value){
   echo $value;
}
?>

/** Ausgabe
  * 1
  * 2
  * 3
  * 4
  * 5
/**
```


----------

