Hi,
damit nicht der Eindruck entsteht, im Selfforum würde allzuschnell aufgegeben ... ;-)
Ich versuche mich mal an meiner frisch gereinigten Glaskugel:
Du möchtest also das Ergebnis eines Formulars verarbeiten, das mehrere Elemente in unterschiedlicher Anzahl aus einer endlichen Grundmenge auswählen läßt.
Beispiel sei ein Brief zum zusammenklicken:
Anrede:
1 [ ] Sehr verehrte Damen, geehrte Herren
2 [ ] Sehr geehrte Herren
3 [ ] Sehr verehrte Damen
4 [ ] Lieber Jupp
5 [ ] (eigener Text)
Text:
6 [ ] wir fordern sie hiermit und hierdurch und sowieso
7 [ ] laut Rechnung vom ______ ist der fälligen Betrag
8 [ ] die Firma Seiden&Shawl (Krefeld) möchte ihnen
9 [ ] watt is nu mit die Kaaten füa die Noodkurve?
10 [ ] (eigener Text)
Verabschiedung
11 [ ] mit freundlichen Grüßen
12 [ ] mfg
13 [ ] in Erwartung ihrer zahlreichen Bstellungen
14 [ ] Hennes
15 [ ] (eigener Text)
Entspricht das in etwa Deinem Belang?
Dann hast Du mehrere Möglichkeiten. Einmal kannst Du natürlich alle möglichen Kombinationen vorhalten und per switch() abklappern oder sie einzeln zusammenbauen.
Für die erste Lösung wäre ein Bitarray günstig, da sich die so erhobenen Zahlen gut in einen switch() einpassen lassen. Entscheidender Nachteil: es kommt einiges an Menge zusammen.
Besser wäre es den Bedarf Stück für Stück zusammenzubauen. Das geht aber auch per switch(). Du bekommst ja vom Formular eine Reihe von Werten zurück. Die werden in ein Array gepackt und mittels Loop durchgeswitched (Pseudocode):
for $value in $input{
switch($value){
case 1: checkAndPrint(1);break;
case 2: checkAndPrint(2);break;
case 3: checkAndPrint(3);break;
...
case 13: checkAndPrint(13);break;
case 14: checkAndPrint(14);break;
case 15: checkAndPrint(15);break;
default: errorOccured();break;
}
}
Sollte die Reihenfolge der Eingabe nicht mit der Ausgabe übereinstimmen ist halt zu mappen und zwischenzuspeichern.
so short
Christoph Zurnieden