Liste und Mehrfachauswahl

UnoDosTres

Erfahrenes Mitglied
Hi,

habe eine Liste mit Mehrfachauswahl. Das Array will ich so auswerten:

PHP:
for ($zi = 0;$zi < count($_POST['interessengebiet']); $zi++){ 
            $wert = $wert.$_POST['interessengebiet'][$zi].","; 
            $Result =  $_POST['interessengebiet'][$zi] ; 
            }

Doch $Result enthält immer nur den letzten EIntrag.
HTML:
<select name="interessengebiet[]" size="5" multiple="multiple" class="Input" id="interessengebiet">
                      <option value="BITTE AUSW&Auml;HLEN..." selected="selected">BITTE AUSW&Auml;HLEN...</option>
                     ...
                    </select>
 
Du überschreibst Result ja auch bei jedem Durchlauf der Schleife.

Wenn du es speichern willst, müsstest du es in ein Array formen:

PHP:
for ($zi = 0;$zi < count($_POST['interessengebiet']); $zi++){ 
            $wert[] = $wert.$_POST['interessengebiet'][$zi].","; 
            $Result[] =  $_POST['interessengebiet'][$zi] ; 
            }
 
Habe ich doch oben gezeigt?
Genau wie in einem Formular, hängst du einfach die [] daran.

Danach sind $Wert und $Result ein Array und besitzen die alle Werte.

Zum Prüfen kannst du sie mit [phpf]var_dump[/phpf] oder [phpf]print_r[/phpf] ausgeben.
 
Um das Ganze zu vereinfachen:
PHP:
$wert = implode(',', $_POST['interessengebiet']);
$Result = $_POST['interessengebiet'];
 
Arrays können nicht mit echo ausgegeben werden. Dafür musst du die erwähnten Funktionen var_dump() oder print_r() nehmen. Ich empfehle dir erstere, da dort zusätzlich die Datentypen angegeben werden.
 
Ich muss es aber mit echo ausgeben können da die Werte per Mail verschickt werden.

Wie muss ich das jetzt vorher umwandeln?
 
In der $wert-Variable befinden sich doch die durch Kommas voneinander getrennten Werte. Wieso nimmst du nicht die?
 
Zurück