foreach anders anzeigen

Thomas_Jung

Erfahrenes Mitglied
Hallo
Das Ergebnis ist zweck zweck sondersortierung sondersortierung
Wie schaffe ich es das das Ergebnis zweck sondersortierung zweck sondersortierung lautet

PHP:
	foreach ( $_POST as $key => $value )
    {
    if ( is_array($_POST[$key]) )
    {
    if ( $key == 'zweck' OR $key == 'sondersortierung' ) {
    for ($x=0; $x <count($_POST[$key]); $x++)  {   $ergebnis .= $value[$x];  }
    }
    }
    } echo $ergebnis;

Gruß Thomas
 
Hallo hier das Formular

PHP:
<input type="checkbox" name="zweck[]" value="<?php echo $feld_name[$i]; ?>
<select size="1" name="sondersortierung[]">
  <option value="">Bitte wählen</option>
  <option value="ASC">Aufsteigend (A-Z)</option>
  <option value="DESC">Absteigend (Z-A)</option>
</select>
Gruß Thomas
 
PHP:
$keys = array_keys($_POST['zweck'];
$order_expr = array();
foreach( $keys as $key ) {
	$order_expr[] = '`'.$_POST['zweck'][$key].'` '.$_POST['sondersortierung'][$key];
}
echo implode(', ', $order_expr);
 
Hallo Gumbo

Vielen Dank für deine Antwort.
Wenn ich die Checkboxen bzw. Dropdowns nach der Reihe ausführe klappt das Script.
Siehe Bild 1.jpg
Lasse ich eine Checkboxen bzw. Dropdowns aus klappt es nicht mehr.
Siehe Bild 2.jpg

Weißt du vieleicht warum das so ist?
Gruß Thomas
 

Anhänge

  • 24794attachment.jpg
    24794attachment.jpg
    14,1 KB · Aufrufe: 6
  • 24795attachment.jpg
    24795attachment.jpg
    14,3 KB · Aufrufe: 6
Hallo Sven Mintel
Wie meinst du das?
Die Checkbox Abteilung ist aktiviert. Siehe im Anhang 2.jpg
Nur wo ist der Wert?

Gruß Thomas
 
Arbeite lieber mit festen Nummerierungen bei der Bezeichnung der Formularelemente. Denn die Werte der Optionsauswahlmenüs werden immer übermittelt, da eine Option immer ausgewählt ist und somit als erfolgreiches Steuerelement gilt auch wenn dessen Wert leer ist.
 
Thomas_Jung hat gesagt.:
Die Checkbox Abteilung ist aktiviert. Siehe im Anhang 2.jpg
Nur wo ist der Wert?
Wenn du zwischendurch eine Box auslässt, rutschen die nächsten im POST-Array nach,...die <select>'s werden aber immer übermittelt, deswegen kommt die Sache durcheinander.

Was die feste Nummerierung betrifft, die sollte so hinhauen:
PHP:
<input type="checkbox" name="zweck[<?php echo $i; ?>]" value="<?php echo $feld_name[$i]; ?>">
<select size="1" name="sondersortierung[<?php echo $i; ?>]">
  <option value="">Bitte wählen</option>
  <option value="ASC">Aufsteigend (A-Z)</option>
  <option value="DESC">Absteigend (Z-A)</option>
</select>
...falls $i bei jedem Checkbox/Select-Paar inkrementiert wird...dann sollte Gumbos Code auch klappen, wenn zwischendurch eine Checkbox nicht aktiviert wurde.
 
Zurück