[Variablen] Formularübergabe aus Listenfeld

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

  • [Variablen] Formularübergabe aus Listenfeld

    Hallo, folgendes Problem

    Mit Formular 1 kann man über Listenfelder auswählen wieviele Dinge man besitzt.

    PHP-Code:
    <td><select name="sonst_building" id="sonst_building">
            <
    option value="1">1</option>
            <
    option value="2">2</option>
            <
    option value="3">3</option>
    .
    .


    Die Werte werden übergeben an Formular 2. Dort sollen jetzt aus dem Wert der Liste aus Formular 1 dynamisch sovielel Eingabefelder wie die Variable sonst_building gespeichert hat.

    Der Wert der Variable wird auch richtig übergeben, da er vorher per echo ausgelesen wurde.

    Aber in einer Schleife

    PHP-Code:


     <?
        for ($j = 1; ; $j++) {
        
       ?>
        
        
        <tr>
        
          <td>Sonstige Geb&auml;ude <? echo $j; ?></td>
          <td><p>
                <select name="<? echo "sonst_house".$j; ?>">
                  <option value="sonst_handel">Handelsposten</option>
                  <option value="sonst_turm">Turm</option>
                  <option value="sonst_gast">Gasthaus</option>
                  <option value="sonst_magier">Magierturm</option>
                  <option value="sonst_burg">Burg</option>
                </select>
              <br>
            </p>      </td>
        </tr>
        <? if($j = $sonst_building) {
           break;
       }  }?>
    ergibt sich eine Endlosschleife.

    Das Einzige was ich mir vorstellen kann, dass die Variable sonst_building nicht von einem Zahlentyp ist sondern vom Typ string?

    Wenn ja, wie gehts anders?

  • #2
    hmm,

    PHP-Code:
    if($j $sonst_building) { 
    sieht aus wie ne zuweisung ... ist immer true und sollte das gegenteil ner endlosschleife bewirken ... warum nimmst du keine 'normale' for schleife?
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      PHP-Code:
       <? if($j = $sonst_building) {
      = Zuweisung einer Variable
      == ist gleich
      != ist ungleich
      mfg
      marc75

      <Platz für anderes>

      Kommentar


      • #4
        Danke, es war heute früh einfach zu spät

        Ich ess dann Mal nen Biber zum Frühstück

        Kommentar


        • #5
          schon mal an die Performance gedacht ? Bei jedem Durchlauf wird bei dir die If-Anweisung ausgewertet, das ist nicht notwendig, da du schon von Anfang an weisst, viele Durchläufe zu realisieren ist, besser:

          for ($j=1;$j<=$sonst_building;$j++) ...

          Website-Besucher sind zwar geduldig, aber man soll ihr Geduld nicht zu sehr strapazieren

          Kommentar


          • #6
            Original geschrieben von asp2php
            for ($j=1;$j<=$sonst_building;$j++) ...
            auch hier hast du eine bedingung, einen vergleich, der vor jedem neuen durchlauf geprüft werden musst.

            allerdings wollte ich auch vorschlagen, doch bei dieser "konventionellen" schreibweise der for-schleife zu bleiben.
            sonst kommentierst du nachher mal in der schleife ein stück code aus, deine if-abfrage ist unbeabsichtigt dabei, und schon haben wir wieder die endlosschleife, o.ä. ...
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              @wasaga

              Simuliere die beiden Versionen in C/C++ und schau dir die Registerwerte im Debugger an, dann verstehst du was ich meine ich denke nicht dass bei PHP anders ist. Man soll nach Möglichkeit den Code immer optimieren

              Kommentar

              Lädt...
              X