schleife mit jeweils 2 ausgaben

campari

Erfahrenes Mitglied
Bin heut so unentschlossen - vielleicht hat jemand einen Lösungsvorschlag:

Aus dieser Schleife ergibt sich ein Formular mit $zahl Eingabfeldern:
PHP:
  while($count <= $zahl)
    {
    $count++;
$vorname = "vorname".$count;
echo "<input type='text' name='$vorname' value='".$_POST[$vorname]."'>\n";
    }

Nun sollen nach dem Ausfüllen und Abschicken des Formulars jeweils 2 paarweise zusammen ausgegeben werden. (Danach kommt ein 'page-break-after:always', um im Druck eine neue Seite zu beginnen.)

Dachte an eine for-schleife:
PHP:
for ($a=0;$a<$b;$a+=2)
    {
if($count[$a]) {
echo $_POST[$vorname];
    }
if($count[$a+1]) {
echo $_POST[$vorname];
    }

Die Grundidee is glaub ok, aber komm net so recht weiter...

Grüsse
campari
 
Was soll denn in $count[$a] stehen
Meinst du vielleicht irgendsowas in der Art:
PHP:
for ($v=0; $v<count($_POST); $v++) {
echo $_POST["vorname".$v];
if ($v%2) echo "<br>"; //oder irgendwie diesen page break machen...
}
 
Es sollen 'vorname' ausgegeben werden.
Dein Post hat mir weitergeholfen.
Habs nun so gelöst:
PHP:
for ($a=0;$a<$endzahl;$a+=2)
    {
$v = $a +1; 
$w = $a +2;
echo $_POST['vorname'.$v]."=vorname$v<br>";
echo $_POST['vorname'.$w]."=vorname$w<br>";
echo "<br>";

}

Irgendwie ein gefrickel. Aber es funktioniert tadellos.
 
Allerdings hast du dann ein Problem, wenn du eine ungerade anzahl namen hast. Dann ist beim letzten Aufruf der Schleife $a zwar kleiner als $endzahl, aber du willst ja auch noch $a+1 im gleichen Durchlauf ausgeben.
Eleganter wäre es halt so: Eine Ausgabe pro Schleife und jeden zweiten Druchlauf ein extra <br>
PHP:
for ($a=1;$a<$endzahl;$a++)
{
echo $_POST['vorname'.$a]."=vorname$a<br>";
if !($a%2) echo "<br>";
// $a%2 ergibt bei allen geraden zahlen 0 (false), bei ungeraden 1 (true)
}
 
Zurück