Ankündigung

Einklappen
Keine Ankündigung bisher.

kniffliges Problem mit einer Eingabemaske

Einklappen

Neue Werbung 2019

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

  • kniffliges Problem mit einer Eingabemaske

    So, ich hoffe, ich muss zum letzten mal zu diesem Thema eine Frage stellen:

    Es geht wieder einmal um meine Tabelle mit den Links... Ich habe jetzt endlich alles fertig angelegt, die Daten werden richtig aus der Datenbank ausgelesen und auch sonst klappt (dank eurer Hilfe) alles. Alles bis auf einen kleinen Schönheitsfehler:

    Meine Tabelle schaut ja folgendermaßen aus:

    Link1 Text1 ändern
    Link2 Text2 ändern
    Link3 Text3 ändern
    ... ... ...

    So, wenn ich jetzt auf den Button ändern klicke, hätte ich gerne, dass sich unter der betreffenden Zeile ein Formularfeld öffnet, in dem man die neuen Daten eingeben kann - also bei der 1. Zeile ungefähr so:

    Link1 Text1 ändern
    ____ ____ ok
    Link2 Text2 ändern
    Link3 Text3 ändern
    ... ... ...

    Ist so etwas überhaupt machbar? Hab' da noch keinerlei Erfahrung. Mir geht es im Prinzip ja nur darum, dass man nicht extra auf eine neue Seite muss, um dort die Eingaben zu machen. Vielleicht gibt es ja von euch auch noch andere Vorschläge...

    hier noch der PHP-Code der Tabelle:
    PHP-Code:
    <?php
    echo "<table cellpadding=\"0\" cellspacing=\"0\">";
    while(
    $row mysql_fetch_object($ergebnis))
    {
      echo 
    "<tr>";
      echo 
    "<td width=\"300\" height=\"25\"><font font size=\"2\">",$row->url,"</font></td>";
      echo 
    "<td width=\"300\" height=\"25\"><font font size=\"2\">",$row->bezeichnung,"</font></td>";
      echo 
    "<td width=\"100\" height=\"25\"><input type=\"button\" name=\"change\" value=\"Ändern\" onClick=\"self.location.href='change.php?id=" $row->id "'\"></td>";
      echo 
    "</tr>";
    }
    echo 
    "</table>";
    ?>

  • #2
    erst wird (bei }elseif($if != "") { ) der datensatz angezeigt in den Inputs und bei $change_f wird es dann geupdatet. da IF ist dazu da, damit man sieht, ob es wirklich geändert wurde.

    da mysql_query(); wenn erfolgreich true, sonnst false zurück gibt, ist das möglich.

    PHP-Code:
    <?php

    if ($change_f) {
    if(
    mysql_query("UPDATE `tabelle` set url='$url' , bezeichnung='$bezeichnung' where id='$id'")) {
    echo
    "Datensatz geändert.";
    }else{
    echo
    "Datensatz konnte nicht geändert werden";
    }
    }elseif (
    $id != "") {
    $result mysql_query("SELECT * FROM `tabelle` where id='$id'");
    $row mysql_fetch_array($result);

    echo
    "<form action='".$PHP_SELF."' method='post'>
    URL: <input type='text' name='url' value='"
    $row['url'] ."'>

    Bezeichnung: <input type='text' name='bezeichnung' value='"
    $row['bezeichnung'] ."'>

    <input type='button' name='change_f' value='Ändern'>
    <input type='hidden' name='id' value='
    $id'>
    </form>"
    ;
    }

    echo 
    "<table cellpadding=\"0\" cellspacing=\"0\">";
    while(
    $row mysql_fetch_object($ergebnis))
    {
      echo 
    "<tr>";
      echo 
    "<td width=\"300\" height=\"25\"><font font size=\"2\">",$row->url,"</font></td>";
      echo 
    "<td width=\"300\" height=\"25\"><font font size=\"2\">",$row->bezeichnung,"</font></td>";
      echo 
    "<td width=\"100\" height=\"25\"><input type=\"button\" name=\"change\" value=\"Ändern\" onClick=\"self.location.href='change.php?id=" $row->id "'\"></td>";
      echo 
    "</tr>";
    }
    echo 
    "</table>";
    ?>

    Kommentar


    • #3
      vielen Dank für die superschnelle Antwort! Werd's gleich mal ausprobieren!

      Kommentar


      • #4
        Zitat von Casaro
        vielen Dank für die superschnelle Antwort! Werd's gleich mal ausprobieren!
        Du musst natürlich noch die Tabellennamen udn evtl. sachen von dir anpassen.

        ich weiß nicht genau, ob es genau so ist, wie du es dir vorgestellt hast.

        Kommentar


        • #5
          @ Bani:

          Das mit der Einbindung in meinen Code klappt nicht so recht: auf was soll sich die $change_f - Variable am Anfang beziehen? Irgendwie muss ich ja auch noch den Link meines Ändern-Buttons anpassen... Könnte ich dir vielleicht mal den ganzen Code mailen (ca. 100 Zeilen), damit du dir das mal anschaust? Wenn du aber keine Zeit hast, probier ich's selber weiter.

          Kommentar


          • #6
            Zitat von Casaro
            @ Bani:

            Das mit der Einbindung in meinen Code klappt nicht so recht: auf was soll sich die $change_f - Variable am Anfang beziehen? Irgendwie muss ich ja auch noch den Link meines Ändern-Buttons anpassen... Könnte ich dir vielleicht mal den ganzen Code mailen (ca. 100 Zeilen), damit du dir das mal anschaust? Wenn du aber keine Zeit hast, probier ich's selber weiter.
            $change_f bezieht sich auf folgenden Code im if($id != "") { }

            Code:
            <input type='button' name='change_f' value='Ändern'>
            wenn bei ner submit (oder hier halt button) eine name"" angegeben ist, wird diese als variabel true zurück gegeben.a lso hier mit anderen worten
            $change_f = true;

            ich hoffe, du weißt was ich meine.

            Hast du ICQ / MSN / Xfire?

            wenn ja, adde mich mal, ansonnsten hier die mail addy: bani(@)bani(.)Be

            (ohne klammmern)

            Kommentar


            • #7
              hab den namen in der <form> total übersehen. Dass der dann als Variable übergeben wird, ist mir schon klar... :wink:
              Dann wär da ja nur noch das Problem, dass die Ändern-Aktion durch einen Klick auf den Button (wo bis jetzt eben noch der Link auf change.php war) ausgelöst wird...

              Hab' leider nicht ICQ, sondern Skype. Ich schick dir mal kurz die datei an deine e-mail adresse...

              Kommentar


              • #8
                Zitat von Casaro
                hab den namen in der <form> total übersehen. Dass der dann als Variable übergeben wird, ist mir schon klar... :wink:
                Dann wär da ja nur noch das Problem, dass die Ändern-Aktion durch einen Klick auf den Button (wo bis jetzt eben noch der Link auf change.php war) ausgelöst wird...

                Hab' leider nicht ICQ, sondern Skype. Ich schick dir mal kurz die datei an deine e-mail adresse...
                skype? bani4ever <- me

                Kommentar

                Lädt...
                X