Formular

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

  • Formular

    Hallo zusammen,

    ich versuche jetzt schon länger eine Tabelle einer Datenbank mit einem Formular zu Pflegen.

    Leider kann ich bei mir momentan immer nur den letzten Datensatz bearbeiten.

    hier der code das Forms

    PHP-Code:
    <?php


             
    include "../connect.inc.php";
           
    $result mysql_query("SELECT * FROM spieler ORDER BY nachname ");
           
    $tor mysql_num_rows($result);


                 echo 
    "<form method='post' action='torschuetzen_eintragen_go.php'>";
            echo 
    "<div align='center'>";

                 echo 
    "<table>";

                 for (
    $i=0$i<$tor$i++)
                    {

                 
    $id   =  mysql_result($result$i"id");
                 
    $nachn mysql_result($result$i"nachname");
                 
    $vorn mysql_result($result$i"vorname");
            
    $tore mysql_result($result$i"tore");;

                 echo 
    "<tr>";
                 echo 
    "<td><input type='text' size='2' name='id' value='$id'></input></td>";
                 echo 
    "<td><input type='text' size='15' name='nachn' value='$nachn'></input></td>";
                 echo 
    "<td><input type='text' size='15' name='vorn' value='$vorn'></input></td>";
                 echo 
    "<td><input type='text' size='2' name='tore' value='$tore'></input></td>";
                 }

                 echo 
    "</table>";
                 echo 
    "<input type='submit' Value='Update'>";
        
    ?>
    Ich packe also erste alle Datensätze aus der datenbank in die Formularspallten und möchte dann falls in diesen feldern eine
    änderung passiert diese abschicken. Momentan würde jetzt
    der letzte Datensatz an folgende seite übergeben.

    PHP-Code:
    <?php
    include "../connect.inc.php";

             echo
    "ID: $id<br>";
        echo
    "Nachname: $nachn<br>";
        echo
    "Vorname: $vorn<br>";
        echo
    "TORE: $tore<br>";


    $DataToParse="UPDATE spieler SET tore = $tore WHERE id=$id";
    $Result mysql_query($DataToParse);

    //include "torschuetzen_eintragen.php";


      
    mysql_close();
    ?>
    Vielleicht muss ich es ja ganz anderes machen, ich habe leider keine andere
    idee auf diversen seite und Tutorials gefunden.
    Ich würde mich freuen wenn jemand ne idee hat.

    Gruss RedSun
    Zuletzt geändert von RedSun; 01.07.2004, 17:52.

  • #2
    bevor hier jemand antworten soll, solltet du mal bitte deinen code in die php-tags des forums packen.

    und so sieht das dann aus....
    PHP-Code:
    echo $test
    achte bitte auch darauf, dass die zeilen nicht zu lang sind. brich sie ggfls. um.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      PHP-Code:
       for ($i=0$i<$tor$i++)
      {

      $id mysql_result($result$i"id");
      $nachn mysql_result($result$i"nachname");
      $vorn mysql_result($result$i"vorname");
      $tore mysql_result($result$i"tore");;

      echo 
      "<tr>";
      echo 
      "<td><input type='text' size='2' name='id' value='$id'></input></td>";
      echo 
      "<td><input type='text' size='15' name='nachn' value='$nachn'></input></td>";
      echo 
      "<td><input type='text' size='15' name='vorn' value='$vorn'></input></td>";
      echo 
      "<td><input type='text' size='2' name='tore' value='$tore'></input></td>";

      Dat is Schwachfug, Babe So muss das aussehen:

      PHP-Code:
      while($res mysql_fetch_array($result))
      {

      $id $res["id"];

      //Im Array $res ist jeweils der aktuelle Datensatz, die Schlüssel des Arrays heißen wie die Feldnamen inner Tabelle

      Kommentar


      • #4
        Sorry das ich die PHP Tags vergessen habe.

        Mit der while schleifen kann ich doch jetzt nur den letzten Datensatz bearbeiten, was ich jedoch will ist folgendes:

        1 - Nachname - Vorname - Tore
        2 - " " "
        ect.

        jetzt ändert mann z. B. bei irgendeinem name die anzahl der Tore und drückt dann auf Update und dann soll sich der Datensatz ändern.
        Es sollen aber schon alle Datensätze zu sehen sein.

        RedSun

        Kommentar


        • #5
          Original geschrieben von RedSun
          Mit der while schleifen kann ich doch jetzt nur den letzten Datensatz bearbeiten
          damit änderst du zunächst mal gar nichts, sondern listest die datensätze nur auf.

          empfehlenswert wäre wohl, jeden DS in ein eigenes formular zu packen, so dass man gezielt diesen ändern kann - oder aber für das ändern eine extra seite zu machen, die die ID des datensatzes übergeben bekommt.

          alle datensätze und ihre werte per form an die nächste seite zu geben, ist m.E. unsinn - zum einen müsstest du ja doch für jeden datensatz ein update-statement machen (wenn du nicht alles in eins quetschen willst), und zum anderen müsstest du ja dann auch noch prüfen, wo der user was geändert hat und wo nicht - ohne würdest du ja auch nicht geänderte DS erneut updaten.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            PHP-Code:
            <?php
            include "../connect.inc.php";
            $result mysql_query("SELECT * FROM spieler ORDER BY nachname ");
            $tor mysql_num_rows($result);

            for (
            $i=0$i<$tor$i++)
            {

            $id mysql_result($result$i"id");
            $nachn mysql_result($result$i"nachname");
            $vorn mysql_result($result$i"vorname");
            $tore mysql_result($result$i"tore");;

            echo 
            "<form method='post' action='torschuetzen_eintragen_go.php'>";
            echo 
            "<div align='center'>";

            echo 
            "<table>";

            echo 
            "<tr>";
            echo 
            "<td><input type='text' size='2' name='id' value='$id'></input></td>";
            echo 
            "<td><input type='text' size='15' name='nachn' value='$nachn'></input></td>";
            echo 
            "<td><input type='text' size='15' name='vorn' value='$vorn'></input></td>";
            echo 
            "<td><input type='text' size='2' name='tore' value='$tore'></input></td>";

            echo 
            "<input type='submit' Value='Update'>";
            echo 
            "</table>";
            }
            ?>
            So wie oben hätte ich doch jetzt für jeden Datensatz ein Form oder etwa nicht?

            aber auch so würde er jetzt egal welchen update knopf ich drücke immer die Daten aus dem letzten Form übergeben.

            Falls ich auf dem Völlig falschen Dampfer bin dann wäres liebe wenn jemand mal einen kleinen 2 zeiler schreiben könnte...

            Gruß RedSun

            Kommentar


            • #7
              So wie oben hätte ich doch jetzt für jeden Datensatz ein Form
              nein!

              </form> kann ich nirgends sehen ...
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                Oh mann bin ich DOOF

                Danke das mit dem </form> hat gereicht damit es funzt.

                Großes DANKE nochmal.

                Kommentar

                Lädt...
                X