Formular in while Schleife?

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

  • Formular in while Schleife?

    [FONT=Frutiger 45 Light]Hallo zusammen[/FONT]

    [FONT=Frutiger 45 Light]Ich habe es ein PHP Script welches Daten aus einer Datenbank aufgelistet anzeigt, der User soll nun einen Datensatz auswählen können und dann auf die jeweilige Detailseite gelangen auf welcher die Details zum ausgewählten Datensatz angezeigt werden:[/FONT]


    Code:
    [FONT=Frutiger 45 Light][FONT=Frutiger 45 Light]$res = mysql_query("select * from spiele");[/FONT]
    [FONT=Frutiger 45 Light]$num = mysql_num_rows($res);[/FONT]
     
    [FONT=Frutiger 45 Light] $lf = 1;[/FONT]
    [FONT=Frutiger 45 Light] while ($dsatz = mysql_fetch_assoc($res)) {[/FONT]
     
    [FONT=Frutiger 45 Light]           $spiel_name = $dsatz["spiele"];[/FONT]
    [FONT=Frutiger 45 Light]           global $spiel_name;[/FONT]
     
    [FONT=Frutiger 45 Light]           echo "<a href='#' title='".$spiel_name."' onclick='document.anzeigen_form.submit();' >";[/FONT]
    [FONT=Frutiger 45 Light]           echo  $dsatz['spiele']."</a>"."</td>";[/FONT]
     
    [FONT=Frutiger 45 Light]           echo "<td>" . $dsatz["verlage"] . "</td>";[/FONT]
     
    [FONT=Frutiger 45 Light]           $lf = $lf + 1;[/FONT]
     
    [FONT=Frutiger 45 Light]           }[/FONT][/FONT]
    [FONT=Frutiger 45 Light]
    [/FONT]
    [FONT=Frutiger 45 Light]Der User klickt also auf den Link um zu den Details der Auswahl zu gelangen. Jetzt würde ich normalerweise innerhalb dieser „while Schleife“ auch ein Formular einbauen, welches dann über das Anklicken des Links gesendet wird. So kann ich die den vom User ausgewählten Datensatz erkennen und dann die Details dazu anzeigen lassen:[/FONT]


    Code:
    [FONT=Frutiger 45 Light][FONT=Frutiger 45 Light]           echo "<form name='anzeigen_form' method='post' action=''><input ";[/FONT]
    [FONT=Frutiger 45 Light]           echo "type='hidden' name='formularfeld_spielename' value='".$spiel_name."' ></form>";[/FONT][/FONT]
    [FONT=Frutiger 45 Light]
    [/FONT]
    [FONT=Frutiger 45 Light]Das Problem ist aber dass es nicht funktioniert wenn ich dieses Formular in die Schleife einbaue. Habe ich das Formular ausserhalb der Schleife lässt es sich zwar absenden aber ich erkennen nicht welcher Datensatz der User ausgewählt hat. Die Variable $spiel_name zeigt immer den letzten Datensatz der gesamten Datenbank an.[/FONT]

    [FONT=Frutiger 45 Light]Hat jemand ne Idee wie ich das lösen könnte? Ich denke notfalls mit einer Session Varable, aber ich bin sicher es muss auch anders gehen.[/FONT]

    [FONT=Frutiger 45 Light]Vielen Dank für eure Tipps.[/FONT]

    [FONT=Frutiger 45 Light]LG[/FONT]

  • #2
    Hast du schon mal einen Link wie diesen gesehen? google.com/search?q=Link%20GET%20Parameter

    Kommentar


    • #3
      Außerdem fehlt in deinem Fomular ein Button zum Absenden.
      http://hallophp.de

      Kommentar


      • #4
        @onemorenerd
        Danke für die rasche Antwort. Ich wusste nich dass ich einen GET Parameter per Link übermitteln kann.

        Du meinst also ich sollte meinen Link href='#' umwandeln in href='index.php?id=xy' und dann mit $_GET die ID auslesen soll? Ich kann wo ich gerade bin nicht testen ob das funktioniert, aber am Abend dann.

        @asipak4you
        Hi. Der Button fehlt nicht, das Formular wird per onclick versendet, siehe Link

        Lg an alle
        Zuletzt geändert von plectron; 29.12.2009, 11:49.

        Kommentar


        • #5
          @plectron, bitte verzichte doch auf den Times-New-Roman Schriftsatz. Der macht deinen Code enorm unleserlich.

          Kommentar


          • #6
            reicht nicht schon wenn du onklick umschreibst?
            Code:
            onclick='this.form.submit();

            Kommentar


            • #7
              Hi
              Ich hab's hinbekommen als ich das Formuar in die Schleife eingebaut habe und ihm aber einen variablen Namen gegeben habe. Offenbar darf das Formular nicht 2x gleich heissen oder so. Das mit

              onclick='this.form.submit();

              Probier ich auch noch aus, Danke.

              Lg

              Kommentar

              Lädt...
              X