Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten von Datenbank durch Klick in Feld holen

Einklappen

Neue Werbung 2019

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

  • Daten von Datenbank durch Klick in Feld holen

    Hallo

    wenn die Seite aufgerufen wird, werden die Daten von der datenbank in Textfeld angezeigt so:
    echo'<td><input type="text" name="nachricht" value="'.$row->nachricht; '"></td>';


    Ich möchte aber gerne, dass die Daten in Feld angezeigt werden, wenn ich auf das Button anklicke.

    Wie soll der Code lauten ?

    Danke!

  • #2
    Guten Morgen,

    ohne Quellcode der Seite, kann dir da glaube ich Niemand helfen. Ein kleiner Ansatz wäre evtl.

    PHP-Code:
    echo'<td><input type="text" name="nachricht" id="nachricht"></td>';
    echo 
    '<input type="button" name="show" value="Anzeigen" onClick="document.getElementById(\'nachricht\').value = "'.$row->nachricht.'";'
    Ambience
    Ich gebe gerne ICQ-Support gegen ein kleines Endgelt.

    Kommentar


    • #3
      Ja guten Morgen,

      hier ist der php Code :
      <?php
      $server = "localhost";
      $user = "user1";
      $passwort = "passwort1";
      $datenbank = "user1";
      mysql_connect($server, $user, $passwort) or die("Es wurde keine Verbindung etabliert!");
      mysql_select_db($datenbank) or die("Datenbank nicht gefunden!");
      $sql = "SELECT nachricht FROM messages where nummer like '01' ";
      $ergebnis = mysql_query($sql);
      while($row = mysql_fetch_object($ergebnis))
      {
      echo'<td><input type="text" name="nachricht" value="'.$row->nachricht; '"></td>';
      }
      ?>

      Kommentar


      • #4
        Morgen,


        versuchs einmal so:

        PHP-Code:
        <?php
        $server 
        "localhost";
        $user "user1";
        $passwort "passwort1";
        $datenbank "user1";
        mysql_connect($server$user$passwort) or die("Es wurde keine Verbindung etabliert!");
        mysql_select_db($datenbank) or die("Datenbank nicht gefunden!");
        $sql "SELECT nachricht FROM messages where nummer like '01' ";
        $ergebnis mysql_query($sql);
        while(
        $row mysql_fetch_object($ergebnis))
        {
        echo
        '<td><input type="text" name="nachricht" /></td>';
        echo
        '<td><input type="button" name="*" value="Anzeigen" onClick="document.getElementById(\'nachricht\').value= "'.$row->nachricht.'";" /></td>';
        }
        ?>

        Ambience
        Ich gebe gerne ICQ-Support gegen ein kleines Endgelt.

        Kommentar


        • #5
          Hi

          es wird zwar kein Fehler angezeigt aber wenn ich auf das Button "Anzeigen" anklicke, wird leider nichts in Feld angezeigt !!!

          Kommentar


          • #6
            Hallo Taktaky,

            ich habe festgestellt, dass bei dem <input feld noch die id gefehlt hat.. Hab diese eingetragen. Außerdem hatte ich ein Fehler in deiner $sql variablen entdeckt. Diese wird mit " geschlossen obwohl mit ' geöffnet wurde.

            Desweiteren habe ich eingerückt.

            Ich hoffe es funktioniert nun:

            PHP-Code:
            <?php
            $server 
            'localhost';
            $user 'user1';
            $passwort 'passwort1';
            $datenbank 'user1';
            mysql_connect($server$user$passwort) OR die('Es wurde keine Verbindung etabliert!');
            mysql_select_db($datenbank) OR die('Datenbank nicht gefunden!');
            $sql 'SELECT `nachricht`
              FROM `messages` 
                WHERE `nummer` like '
            01'';
                
            $ergebnis mysql_query($sql);
            while(
            $row mysql_fetch_assoc($ergebnis))
            {
              echo
            '<td><input type="text" name="nachricht" id="nachricht" /></td><td><input type="button" name="*" value="Anzeigen" onClick="document.getElementById(\'nachricht\').value= "'.$row['nachricht'].'";" /></td>';
            }
            ?>

            Ambience
            Ich gebe gerne ICQ-Support gegen ein kleines Endgelt.

            Kommentar


            • #7
              Hallo
              nun kommt ein Fehler:
              Parse error: syntax error, unexpected T_LNUMBER in /www/htdocs/... test.php on line 8
              Hier die entsprechende Zeile im Code:
              $sql = 'SELECT `nachricht` FROM `messages` WHERE `nummer` like '01'';
              ich glaube, das liegt an Hochkomma(`)

              Kommentar


              • #8
                Morgen,

                na wenn es vorher ging, dann versuch diesen hier nochmal:

                PHP-Code:
                $sql "SELECT nachricht FROM messages where nummer like '01' "

                Ambience
                Ich gebe gerne ICQ-Support gegen ein kleines Endgelt.

                Kommentar


                • #9
                  1. Das was du beim value-Attribut im input-Feld anzeigen willst kann nicht funktionieren. Du möchtest eine Variable einer Klasse anzeigen. Das geht nicht, weil du a) keine Klasse hast, b) diese Klasse die du nicht hast, nicht instanziert hast. Versuchs mal mit
                  PHP-Code:
                  echo'<td><input type="text" name="nachricht" value="'.$row['nachricht'].'"></td>'
                  Als SQL-Query würd ich ausserdem
                  PHP-Code:
                   $sql "SELECT nachricht FROM messages WHERE nummer = '01'"
                  sofern nummer ein String ist.

                  Gruss
                  De Igäl
                  Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
                  Mark Twain

                  Kommentar


                  • #10
                    @Igal, schau mal, er hohlt/e mit mysql_fetch_objekt die daten aus der Datenbank, sofern ist deine Aussage von klasse und instanzt inkorekt.

                    Deine ausgabe geht nur wenn er mysql_fetch_assoc benutzt.

                    Mitm Sql-query hast du wieder recht, wusste nicht genau wie ich den bearbeiten soll, bzw. ob der richtig ist, da ich sowas wie LIKE nie brauche.. schaff das immer irgendwie ohne..


                    Ambience
                    Ich gebe gerne ICQ-Support gegen ein kleines Endgelt.

                    Kommentar


                    • #11
                      Hm... mein Fehler. Hab das mysql_fetch_object übersehen.

                      Naja das macht das ganze eigentlich einfacher und reduzierts auf einen Parse-Error

                      Ersetzte den Semikolon nach $row->nachricht durch einen Punkt.

                      @Igal, schau mal, er hohlt/e mit mysql_fetch_objekt die daten aus der Datenbank, sofern ist dein gefasel von klasse und instanzt schonmal bullshit.
                      Herzlichen Dank, dass du mich darauf aufmerksam gemacht hast, mein Jung. Aber das geht doch auch etwas freundlicher oder? Aber schön, dass du soviel zu Lösung des Problemes beitragen konntest

                      @Taktaky
                      Sowas in der Art (ungetestet) sollte funktionieren:
                      PHP-Code:
                      <?
                          $con = @mysql_connect("host","user","password")
                              or die(mysql_error());

                          $con_db = mysql_select_db("database", $con)
                              or die(mysql_error());

                          $result = mysql_query("SELECT Field FROM table WHERE SomeThing=2")
                              or die(mysql_error());
                              
                          while($row = mysql_fetch_object($result))
                          {
                              echo'<td><input type="text" name="nachricht" value="'.$row->Field.'"></td>';
                          }

                          mysql_close($con);
                      ?>
                      Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
                      Mark Twain

                      Kommentar


                      • #12
                        Moin,

                        ok, hast recht, habs geändert.. Ist mein lieblingsword, das bs...

                        Ambience
                        Ich gebe gerne ICQ-Support gegen ein kleines Endgelt.

                        Kommentar


                        • #13
                          Es funktionirt jetzt aber nur ein Feld

                          HI

                          nun funktioniert mit dem Code Danke!
                          <?
                          $con
                          = @mysql_connect("host","user","password")
                          or die(
                          mysql_error());

                          $con_db = mysql_select_db("database", $con)
                          or die(
                          mysql_error());

                          $result = mysql_query("SELECT Field FROM table WHERE SomeThing=2")
                          or die(
                          mysql_error());

                          while(
                          $row = mysql_fetch_object($result))
                          {
                          echo
                          '<td><input type="text" name="nachricht" value="'.$row->Field.'"></td>';
                          }

                          mysql_close($con);
                          ?>
                          ich möchte gerne danach alle 6 Felder anzeigen lassen.
                          so habe ich versucht leider bleibt das 2. Feld leer !

                          {
                          echo
                          '<td><input type="text" name="nachricht" value="'.$row->nachricht.'"></td>';
                          echo'<td><input type="text" name="adresse" value="'.$row->adresse.'"></td>';
                          }
                          Was und wo soll ich die andere Felder hinzufügen ?

                          Gruß

                          Kommentar


                          • #14
                            Du musst den Query ebenfalls anpassen und natürlich muss ein entsprechendes Feld in der Datenbank vorhanden sein.

                            SELECT Feld1, Feld2, Feld3, [...]
                            in deinem Fall
                            SELECT nachricht, adresse FROM table [...]

                            Studier mal den Codeschnipsel:
                            http://www.php-kurs.com/mysql-datenbank-auslesen.htm
                            Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
                            Mark Twain

                            Kommentar


                            • #15
                              Danke, ich habe alle Feldfer ausgewählt (selectieren) und funktioniert

                              Nun habe muss ich nur die Felder verschieben. Ich meine, die Felder sollen nach dem php-Code d.h. nach ?>

                              Grund dafür mein Programm akzeptiert keine Felder von php (die Felder von echo)

                              ich muss eine kleine Änderung machen

                              also die Textfelder soll soll nach ?>

                              z.B.
                              <?php
                              $con = @mysql_connect("localhost","user1","passwort1")
                              or die(mysql_error());

                              $con_db = mysql_select_db("user1", $con)
                              or die(mysql_error());

                              $result = mysql_query("SELECT vorname, nachname, adresse, email, ort, nachricht FROM messages WHERE ort=Berlin")
                              or die(mysql_error());

                              while($row = mysql_fetch_object($result))


                              ?>

                              <html>

                              <body>

                              <form>
                              <p><input type="text" name="vorname" size="20" value="<? $row->vorname;?>"></p>
                              ...
                              </form>

                              </body>

                              </html>
                              Das Problem Die while-Schleife ist nicht da. Da fehlen geschweifte Klammern "{ }"

                              Gibt es eine Lösung?

                              Gruß

                              Kommentar

                              Lädt...
                              X