Schleifen, Form und Arrays

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

  • Schleifen, Form und Arrays

    Hy alle zusammen,

    wie viel andere habe auch ich das Problem gehabt, dynamisch Inputfelder (z.b. Checkbox) zuerzeugen, indem nach einer SQL-Abfrage das Form mit einer entsprechenden Schleife erzeugt wird.

    Die Lösung scheint zu sein:

    SQL-Abfragen ect.

    schleife
    {
    echo "<input type=\"checkbox\" name=\"SP[]\" value=\"Name\">";
    }

    Bevor ich hier im Foum diese Antwort gefunden habe, habe ich viel ausprobiert.

    Aber ich verstehe beim besten willen nicht die Logik von:

    name=\"SP[]\"

    für mich würde Sinn machen, aber falsch:

    name=\"".$SP[$i]."\"

    vielleicht ist jemand so freundlich und kann daLicht ins Dunkele bringen


    gruss QWerner

  • #2
    Ich weiß nicht ob es stimmt aber ich probiers einfach mal.

    SP ist ja dein Array. dadurch das man schreibt "SP[]" heist es, dass Werte in das Array geschrieben werden. Und die Werte wäen dann vielleicht die Durchläufe der Schleife. Quasi SP[1], SP[2], ... .
    Kann sein, dass ich das falsch gedeutet habe.

    Gute Nacht.
    Wer anderen eine Grube gräbt, der hat ein Grubengrabgerät.

    Kommentar


    • #3
      Hy herrmie,

      ja ungefähr so deute ich das auch.
      Aber das Problem, was ich vielleich fälschlicherweise sehe, ist folgendes:
      Bei einem Programier-Problem versucht man ja mit seiner erlernten Logik der Script-Sprache eine Lösung zu finden.

      Nun gibt es ja den Punkt (.) als "Verbindung" zwischen php und html.
      Und genau dieser wird hier nicht gebraucht. Ist soger falsch.
      Mich wundert, dass php bei

      name=\"SP[]\"

      SP[] als Array interpretiert.

      gruss Qwerner

      Kommentar


      • #4
        Nachtrag....

        bei

        echo "<input type=\"checkbox\" name=\"name\" value=\"value\">";

        wird ja auch mit

        $name

        ausgelesen.

        Scheit etwas Speziefisches zu sein, das die Ausnahme der Regen bestätigt.

        Kommentar


        • #5
          Der Server kriegt vom Browser einfach nur jedes Input-Feld zusammel gewurschtelt. Bei
          <input name="text" value="bla">
          <input name="text2" value="bla2">

          würde der Server ein
          text=bla&text2=bla2
          kriegen, php bastelt dann daraus
          $text = "bla"
          $text2 = "bla2";

          Und wenn du zwei Inputs hast
          <input name="text[]" value="bla">
          <input name="text[]" value="bla2">
          kriegt der Server ein
          text[]=bla&text[]=bla2
          und php bastelt daraus dann halt ein Array
          $text = array();
          $text[] = "bla";
          $text[] = "bla2";

          Das hat nichts mit dem Browser zutun, da wird auch nichts im HTML-Quellcode gemacht, sondern php verarbeitet einfach den Query-String, den der Browser ihm schickt ... fertig *shrug*

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            Hy ghostgambler,

            besten dank für deine Antwort. So passt auch wieder alles zusammen
            Und die Logik ist gewahrt.
            Mir hat eben die von dir dargestellte Datenweitergabe gefehlt.

            Klar:

            text[]=bla&text[]=bla2

            Wie schön einfach die Welt sein kann

            Immerwieder das hier ist eine super Seite.

            gruss QWerner

            PS: Mit speziefisch meinte ich nicht speziefisch browserabhängig, sondern eine speziefische Übersetzug von php bei "input".

            Das währe ein schönen Thema für ein Tutorial.
            Zuletzt geändert von QWerner; 11.06.2006, 04:56.

            Kommentar


            • #7
              Original geschrieben von QWerner
              Das währe ein schönen Thema für ein Tutorial.
              tu dir keinen Zwang an

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar


              • #8
                Ja, würde ich auch sofort machen, aber ich denke, dass ich zu schlecht bin und um ein gutes Tutorial zu schreiben. Da brauch ich noch ein bischen Übung, dann aber gerne

                z.B. ist es möglich auch ein mehrdimensionales Array so zu benutzen?

                schleife $i
                scheife $j
                <input name="name[][]"....>

                also das funzt nicht, was auch irgendwie klar ist, aber ich kann mir vorstellen, dass es da bestimmt eine Möglichkeit gibt.


                gruss QWerner

                Kommentar


                • #9
                  schau doch einfach ins manual, anhang, php und html, 3. formulare und arrays.

                  Kommentar


                  • #10
                    Hy may,

                    ja die Antwort von ghostgambler war ganau die Richtige. ICh hatte ja kein Problem das zu basteln sondern eher ein logisches Problem.

                    Das mit dem Doppel Array steht bei deinem Link aber auch nicht;9

                    Kommentar

                    Lädt...
                    X