HTML Tabelle auslesen und übergeben

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

  • HTML Tabelle auslesen und übergeben

    PHP-Code:
    while ($row mysql_fetch_array($resultMYSQL_ASSOC)) 
    {
        echo 
    "<tr align='center'>\n";
        echo 
    "<td>".$row["stadt"]."</td>\n";
        echo 
    "<td>".$row["ErsteKoordinateX"]."</td>\n";
        echo 
    "<td>".$row["ZweiteKoordinateY"]."</td>\n";
        echo 
    "<td height='30'><input type='submit' name='Submit' value='Aendern'></td>";
         echo 
    "<td height='30'><input type='submit' name='Submit' value='Loeschen'></td>";
        echo 
    "</tr>\n";       



    Ich habe diese Codestruktur zur Anzeige von DB-Daten, ich habe hinter jeder Zeile 2 Buttons einmal Ändern und einmal Löschen. Da es ja mehrere Datensätze(Zeilen) geben kann, frage ich mich, wie weiß der Button welche Zeile er übergeben muss und kann man das überhaupt mit einem Button machen?

  • #2
    Re: HTML Tabelle auslesen und übergeben

    Original geschrieben von MasterB
    Da es ja mehrere Datensätze(Zeilen) geben kann, frage ich mich, wie weiß der Button welche Zeile er übergeben muss und kann man das überhaupt mit einem Button machen?
    Entweder machst du für jede Zeile ein Formular, und übergibst due Datensatz-ID o.ä. per (verstecktem) Formularfeld, oder
    du benennst die Buttons so, dass du anhand dessen serverseitig weißt, welcher Datensatz zu bearbeiten ist - bspw. mit Button-Namen wie "aendern[15]" und "loeschen[15]" (und dann print_r($_POST) um zu schauen, wie das übergeben wird).
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      [verzeihung, kein sinnvoller beitrag gewesen.]
      Zuletzt geändert von penizillin; 23.07.2006, 12:55.

      Kommentar


      • #4
        Kannst Du mir da ein kl. Beispiel geben. Ich hab schon lange kein PHP mehr geschrieben. Den Grundgedanken verstehe ich aber.

        Wenn ich Formularfelder benutze, kann ich die gegen Eingabe schützen?

        Oder meinste Du die Anzeige in der Tabellenzelle + verstecktem Formularfeld?

        Kommentar


        • #5
          das ist ja in erster linie erstmal html.

          hiddenfields sind nichtmal sichtbar, also auch nicht schreibbar. (dass jemand die daten anders übermittelt, kannst du ja ganz einfach überprüfen. Eine ID, die es nicht gibt, kann man auch nicht bearbeiten oder löschen. Und wenn es sie gibt, ist ja alles in order.)

          Kommentar


          • #6
            PHP-Code:
            echo "<tr align='center'>\n";
                echo 
            "<input type='text' name='stadt[$i]' value=".$row["stadt"].">";
                echo 
            "<td>".$row["stadt"]."</td>\n";
                echo 
            "<td>".$row["ErsteKoordinateX"]."</td>\n";
                echo 
            "<td>".$row["ZweiteKoordinateY"]."</td>\n";
                echo 
            "<td height='30'><input type='submit' name='aendern[$i]' value='Aendern'></td>";
               echo 
            "<td height='30'><input type='submit' name='loeschen[$i]' value='Loeschen'></td>";
                echo 
            "</tr>\n";       
                
            $i++; 

            Ausgabe ist:
            Array ( [stadt] => Array ( [0] => MasterTown01 [1] => Master [2] => Master ) [aendern] => Array ( [0] => Aendern ) ) 1

            Entweder machst du für jede Zeile ein Formular, und übergibst due Datensatz-ID o.ä. per (verstecktem) Formularfeld, oder
            du benennst die Buttons so, dass du anhand dessen serverseitig weißt, welcher Datensatz zu bearbeiten ist - bspw. mit Button-Namen wie "aendern[15]" und "loeschen[15]" (und dann print_r($_POST) um zu schauen, wie das übergeben wird).
            Warum erkennt er bei dem input element und dem value keine Lehrzeichen?


            PS wie bekomme ich "Original geschrieben von wahsaga" bei den Zitaten hin

            Kommentar


            • #7
              Array ( [stadt] => Array ( [0] => MasterTown01 [1] => Master [2] => Master ) [aendern] => Array ( [0] => Aendern ) )
              bedeutet: du hast in der 1. zeile auf "ändern" geklickt. jetzt musst du es nur abarbeiten.

              Warum erkennt er bei dem input element und dem value keine Lehrzeichen?
              wer? welche zeichen?

              Kommentar


              • #8
                Abarbeiten ist das Stichwort, was ich daraus lese

                $_POST[stadt][0] => MasterTown01
                $_POST[stadt][1] => Master
                $_POST[stadt][2] => Master
                $_POST[aendern][0] => Aendern

                ich hoffe es ist richtig.


                PHP-Code:
                echo "<input type='text' name='stadt[$i]' value=".$row["stadt"].">"
                ich übergebe value den Stadtnamen
                $_POST[stadt][0] => MasterTown01 ist richtig da habe ich die Lehrzeichen in der DB testweise entfernt
                $_POST[stadt][1] => Master ist falsch in der DB steht Master Town 02
                $_POST[stadt][2] => Master ist falsch in der DB steht Master Town 03

                Warum werden die Lehrzeichen nicht mitübergeben.

                Kommentar


                • #9
                  ich weiß immer noch nicht, von welchen pädagogisch geprägten sonderzeichen du sprichst.

                  aber vielleicht solltest du dich an die konvention halten, _alle_ attribute der html-tags in anführungsstriche zu setzen-

                  Kommentar


                  • #10
                    Das war es: Anführungszeichen

                    ich habe es jetzt so geschrieben, das sollte doch auch anders gehen
                    PHP-Code:
                    echo "<input type='text' name='stadt[$i]' value="."'".$row["stadt"]."'".">"

                    Kommentar


                    • #11
                      oh ja.
                      denn
                      PHP-Code:
                      "foo"."bar" 
                      ist das selbe wie
                      PHP-Code:
                      "foobar" 

                      Kommentar


                      • #12
                        im selben moment erkannt



                        Danke für die Hilfe
                        Zuletzt geändert von MasterB; 23.07.2006, 14:40.

                        Kommentar


                        • #13
                          Original geschrieben von TobiaZ
                          (...)
                          hiddenfields sind nichtmal sichtbar, also auch nicht schreibbar.
                          (...)
                          Das stimmt so nicht! Für den Firefox gibt es mehrere Extensions, die gerade das möglich machen (und vieles mehr, wie z.B. Aufhebung der maxlength bei Inputfeldern, Aktivierung von Deaktivierten Feldern etc.)!

                          Kommentar


                          • #14
                            Ja und? Das ist dann die angesprochene Manupulation. So what's your Problem?

                            Kommentar


                            • #15
                              Original geschrieben von x4th
                              Das stimmt so nicht! Für den Firefox gibt es mehrere Extensions, die gerade das möglich machen (und vieles mehr, wie z.B. Aufhebung der maxlength bei Inputfeldern, Aktivierung von Deaktivierten Feldern etc.)!
                              Das mit maxlength ist mir klar, da dies am Browser liegt, aber wie übergibst du per Post eigene Daten?!

                              Kommentar

                              Lädt...
                              X