Ankündigung

Einklappen
Keine Ankündigung bisher.

Wert aus Datenbank in ein Textfeld

Einklappen

Neue Werbung 2019

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

  • Wert aus Datenbank in ein Textfeld

    Hallo Leute, ich komme an dieser Stelle nicht mehr weiter.

    Ich möchte in ein Formular nach einer Kundennummer suchen.
    Dann soll der z.b. der gefundene Vorname in das Textfeld Vorname geschrieben werden .. ich bekomme das aber nicht hin.


    hier mal das gekürzte Skirpt

    PHP-Code:
    <form action="" method="post">
        <b>Daten Anlegen</b><br>
        Kundennummer :    <input type="text" name="a_id" value="<?php if (isset($_POST['a_id'])){echo $_POST['a_id'];}?>">
        Vorname :        <input type="text" name="a_vorname" value="
                    <?php 
                        
    if (isset($_POST['a_id'])&& $_POST['a_id']) 
                        { 
                            echo 
    $vorname;
                        } 
                    
    ?>">
                    <input type="submit" name="suchen" value="Daten anfragen">
    </form>
    <p>
    <?php  
        $KdNr 
    mysql_real_escape_string($_POST['a_id']); 
        
        if (isset(
    $_POST['a_id']) && $_POST['a_id'] != "")
        {
            
    $sql "SELECT KundenNummer, Anrede, Vorname, Nachname, Strasse, PLZ, ORT, Telefon, FAX,
            Handy  FROM kunden WHERE KundenNummer Like '
    $KdNr%'";
            
    $adressen_query mysql_query($sql) or die("Anfrage nicht erfolgreich");
            
    $adr mysql_fetch_assoc($adressen_query);
            
    $vorname $adr['Vorname'];
        }
    ?>

  • #2
    Du willst in einem Formular nach einer Kundennummer suchen? Meinst du nicht viel eher in der Datenbank?

    wenn ja dann
    PHP-Code:
    WHERE KundenNummer Like '$KdNr%'"; 
    ändern in
    PHP-Code:
    WHERE KundenNummer '$KdNr'"; 
    oder
    PHP-Code:
    WHERE KundenNummer LIKE '%$KdNr%'"; 
    könnte reichen.

    Wenn du es so machst wie bei deiner Variante suchst du nach Kundennummern die mit $KdNr anfangen und mit irgendwas anderem enden. bei der zweiten Variante muss die Kundennummer in der DB genau der Eingabe entsprechen. Bei der dritten Variante muss die Eingabe einfach nur in der Spalte KundenNummer vorkommen um ein Ergebnis zu liefern.
    [URL]http://hallophp.de[/URL]

    Kommentar


    • #3
      Da das LIKE schon angesprochen wurde, jetzt zu deinem eigentlichen Problem.
      Du gibst zuerst den Vornamen aus und danach ermittelst du ihn aus der Datenbank. Fällt dir auf, dass diese Reihenfolge unlogisch ist?

      Kommentar


      • #4
        Achja, sorry .. das Like war noch drinnen da ich vorher nach dem Namen gesucht habe. Das bei einer eindeutigen Zahl kein % vor oder dahinter sein darf ist klar.

        Mir ist auch klar das ich ich das echo $vorname im Textfeld nicht lesen kann da es vor der der eigentlichen Suche in der Datenbank steht.

        Aber ich dachte durch das POST würde es gehen da die seite ja quasi neu geladen wird.

        Hat jemand eine Idee wie ich es lösen kann?

        Wie wäre es wenn ich auf per
        PHP-Code:
        <form action="xyz.php" method="post"
        auf der einen PHP Seite die Eingabe der Kundennummer und die Suche in der Datenbank mache und sich auf xyz.php das Formular öffnet.

        Nur wie kann ich eine Variable an eine andere Seite weitergeben?

        mfg Toby

        Kommentar


        • #5
          Zitat von ichbinsdertoby
          nur wie kann ich eine variable an eine andere seite weitergeben?
          Such mal nach $_GET
          [URL]http://hallophp.de[/URL]

          Kommentar


          • #6
            Zitat von ichbinsdertoby Beitrag anzeigen
            Aber ich dachte durch das POST würde es gehen da die seite ja quasi neu geladen wird.

            Hat jemand eine Idee wie ich es lösen kann?
            Bei einem neuen Scriptaufruf sind alle vorher übermittelten Variablen wieder weg.
            Lösen kannst du das, indem due Reihenfolge des PHP- und HTML-Teils vertauschst, ist doch nicht so schwer, oder?

            Wie wäre es wenn ich auf per
            PHP-Code:
            <form action="xyz.php" method="post"
            auf der einen PHP Seite die Eingabe der Kundennummer und die Suche in der Datenbank mache und sich auf xyz.php das Formular öffnet.
            Du kannst die Formularverarbeitung auf mehrer Formularseiten verteilen, aber auch alles in einem abhandeln.
            Mehr kann ich jetzt nicht dazu sagen, da ich nicht weiss, wie die Verarbeitungslogik aussieht.

            Nur wie kann ich eine Variable an eine andere Seite weitergeben?
            Die Variable (Kundennummer) wird doch vom Formular übertragen, was meinst du?

            Kommentar


            • #7
              Ich gebe auf der einen Seite die Kundennummer ein.
              Dann werden in Datenbank alle Daten gesucht.
              Wie z.b. Name, Vorname und so.

              Diese möchte ich in ein Formular schreiben. Ob auf einer oder mehreren Seite ist egal. Nur wie ich es ganz oben in dem Skript gemacht habe funktioniert es leider nicht.

              In dem Fall mit den Mehreren Formularseiten:
              Hier müsste ich die Fundstellen wie Name usw. der Kundennummer übergeben

              Kommentar


              • #8
                Auf die schnelle:

                PHP-Code:
                <?php
                include ("config.inc.php"); // Einbinden der Datenbanksettings

                $kndnr mysql_real_escape_string($_POST['kndnr']); 
                    
                    if (isset(
                $_POST['kndnr'])) {
                        
                $sql "SELECT Vorname FROM kunden WHERE KundenNummer Like '$kndnr%'";
                        
                $result mysql_query($sql) or die("Fehler: " mysql_error());
                        
                $adr mysql_fetch_assoc($result);
                        
                $vorname $adr['Vorname'];
                    }
                ?>
                <html>
                <head>
                </head>
                <body>
                <form action="suche.php" method="post">
                    Kundennummer :    <input type="text" name="kndnr" value="<?php if (isset($_POST['kndnr'])){echo $_POST['kndnr'];}?>">
                    Vorname :        <input type="text" name="vorname" value="
                                <?php 
                                    
                if (isset($_POST['kndnr'])) { 
                                        echo 
                $vorname;
                                    } 
                                
                ?>">
                                <input type="submit" name="suchen" value="Daten anfragen">
                </form>
                </body>
                </html>

                Kommentar

                Lädt...
                X