[Variablen] variabeln mit schleife erhöhen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Variablen] variabeln mit schleife erhöhen?

    PHP [Version]: 4.3.4

    Also ich habe folgendes Problem:
    Ich möchte auf einer PHP Seite ein individuelles Formular ausgeben.
    Das heisst ich möchte anhand einer Variable die vom vorherigen Formular
    übergeben wurde ($teilnehmer) festlegen wie viel mal dieses Formular geschrieben wird.
    Das Problem dabei ist, dass ich nach dem absenden das gleiche Formular
    nochmal öffen zur Korrektur und die Werte per Variablen in die Felder schreibe, und dort liegt mein problem.
    Hier mal ein Ausschnitt aus meinem Code:

    PHP-Code:
    <?php
    for ($i=1$i<=$teilnehmer$i++)
               {
             
    $table '<tr bgcolor="#F0F0F0">
                    <td colspan="2" class="kleinbowld"><div align="left">Teilnehmer ' 
    $i '<br> 
                      </div></td>
                  </tr>
                  <tr bgcolor="#F0F0F0" class="kleinnorm">
                    <td width="47%"><div align="left">Anrede*</div></td>
                    <td width="53%">
                          <div align="left">
                        <select name="anrede' 
    $i '" id="anrede">
                          <?php echo "$anredecheck' 
    $i '" ?>
                                    </select>
                        </div>
                    </td>
                  </tr>
                  <tr bgcolor="#F0F0F0" class="kleinnorm">
                    <td>Name*</td>
                    <td><input name="name' 
    $i '" type="text" id="name1" value="<?php echo "$name' $i '" ?>" size="30" maxlength="30"></td>
                  </tr>
    ?>
    Es geht eigentlich nur um diesen Code:
    PHP-Code:
    <input name="name' . $i . '" type="text" id="name1" value="<?php echo "$name' . $i . '" ?>" size="30" maxlength="30">
    die variable $name soll also in $name1 (oder einfach die gerade durchlaufende Zahl) und wenn ich das so mache,
    wird nur die variable $i verarbeitet und <?php echo "$name...> wird nicht verarbeitet und steht danach als <?php echo "$name1> im HTML quelltext.
    Wie schaffe ich es dass nach der ersten bearbeitung der Code nochmal verarbeitet wird? Habe schon mehrere Versuche gemacht,
    sind aber fehlgeschlagen. Oder habt ihr eine bessere Lösung?

    Vielen Dank für eure Hilfe.
    Zuletzt geändert von lukasschuermann; 09.12.2003, 22:08.
    Betriebssystem: FreeBSD
    Perl [Version]: 5.8.4
    PHP [Version]: 4.3.8 / 5.0.1
    MySQL [Version]: 4.0.20

  • #2
    Mach mal print $teilnehmer; vorm for()...

    Kommentar


    • #3
      nene das ist nicht mein problem, das mit $teilnehmer funzt alles super, aber wenn ich z.B. $teilnehmer = 3 habe, werden 3 Tabellenteile generiert und diese beinhalten zu generierende Variabeln deren name sich bei jedem Teilnehmer anpassen soll also für den ersten Teilnehmer $name1 für den 2. $name2 ...

      nur das geht nicht, ansonsten klappt alles hmm
      Zuletzt geändert von lukasschuermann; 09.12.2003, 22:15.
      Betriebssystem: FreeBSD
      Perl [Version]: 5.8.4
      PHP [Version]: 4.3.8 / 5.0.1
      MySQL [Version]: 4.0.20

      Kommentar


      • #4
        soll das so aussehen?
        PHP-Code:
        ...value="'. ${$name.$i} .'" size="30" ... 
        Kissolino.com

        Kommentar


        • #5
          Danke für eure schnellen Antworten.
          Ich glaube langsam wirds besser.
          Also hier nochmal das jetzige Code mit Beispiel variablen-werten:
          PHP-Code:
          $i 1
          $name1 
          'test'
          ...value="' . ${$name.$i} . '"... 
          Wenn ich dieses Formularfeld jetzt erzeuge, sollte in diesem Feld test stehen, im moment steht dann aber nix drinn. wenn ich ${$name.$i} durch ${name.$i} ersetze, was mir logischer erscheint, steht im html code auch da nix im value="" teil. Also ich möchte das im html-code value="test" steht.
          Betriebssystem: FreeBSD
          Perl [Version]: 5.8.4
          PHP [Version]: 4.3.8 / 5.0.1
          MySQL [Version]: 4.0.20

          Kommentar


          • #6
            ne, dann besser so:
            PHP-Code:
            $i 1;
            $name1 'test';
            echo ${
            "name".$i}; 
            Kissolino.com

            Kommentar


            • #7
              jaa super funktioniert genau so wie ichs brauche, vielen Dank.

              jetzt hab ich noch ne kleine frage, es geht dabei um die variable $table die ich als variable zur speicherung der Formularteile benötige. bis jetzt hat mir die forschleife die variable $table jedesmal überschrieben, so das ich am schluss doch nur einen formularteil bekomme anstatt z.B. 5. Kann ich irgendwie festlegen das die String-variable $table nicht überschrieben wird, sondern nach dem vorhandenen String der neue angefügt wird?
              Betriebssystem: FreeBSD
              Perl [Version]: 5.8.4
              PHP [Version]: 4.3.8 / 5.0.1
              MySQL [Version]: 4.0.20

              Kommentar


              • #8
                stichwort "stringverkettung":

                $table [COLOR=red].[/COLOR]= ....
                Kissolino.com

                Kommentar


                • #9
                  ok danke dir Wurzel, klappt jetzt alles wunderbar
                  Zuletzt geändert von lukasschuermann; 10.12.2003, 16:40.
                  Betriebssystem: FreeBSD
                  Perl [Version]: 5.8.4
                  PHP [Version]: 4.3.8 / 5.0.1
                  MySQL [Version]: 4.0.20

                  Kommentar

                  Lädt...
                  X