fastix®: Formularfeld über Schleife aufbauen

Beitrag lesen

Moin!

Eine Tabelle, ein Formular. Und eigentlich ist es ganz einfach.

nehmen wir mal an, Du hast die Mails in einem Array $arMails mit je einem Hash. Die eindeutige Kennung ist im Hash mit dem Key 'id', das Subject im Hash mit der Kennung 'subject':

$arMails sei also:
[0]-> Array (id->1012; subject->'Kaufe Viagra!'
[1]-> Array (id->1013; subject->'Aktie nur heute billig!'
...

<form ...>  
<table>  
<tr><th>&nbsp;</th><th>Subjekt</th></tr>  
  
<?php  
$i= -1;  
foreach  ($arMails as $arMail) { ?>  
<tr>  
<td><input type="checkbox" id="M<php ++$i; ?>" value="arMails['<php echo $arMail['id']; ?>']"></td>  
<td><?php echo htmlentities($arMail['subject']); ?></td>  
</tr>  
<?php } #next arMails ?>  
  
</table>  
  
<input type='submit' name='aktion' value='Löschen' /><input type='submit' name='aktion' value='Spam' />  
<input type="hidden" name="lastCheckbox" value="<?php echo $i; ?>" />  
</form>

Wird jetzt auf "Löschen" oder "Spam" geklickt, dann bekommst Du folgende Daten in $_REQUEST:

1. das Array mit den IDs der ausgewählten Mails (als Values)
2. mit dem Key action die auszuführende Aktion.

Den Checkboxen habe ich eine fortlaufende ID verbraten, damit Du mittels dreier weiterer Buttons, Javascript und onclick schön durchhoppeln und alle Mails markieren, alle Markierungen aufheben oder alle Markierung toggeln lassen kannst.

Der Code ist "hingerotzt". Erwarte nicht, das dieser fehlerfrei funktioniert oder valides html abliefert: Es geht um die Vorgehensweise.

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix