Ganzen text über onKeyUp lesen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ganzen text über onKeyUp lesen

    ich bin grade ein bischen am üben und probieren, php und sql ist für mich kein problem aber leider habe ich von JS echt 0 Ahnung, dennoch hab ich mit hilfe eines einfachen tutorial etwas ganz nettes hinbekommen.
    Ich schreibe erst mal euch auf was ich erreichen möchte vllt liege ich ja schon ganz falsch mit dem was ich bis jetzt erreicht habe.
    Also:
    Ich möchte gerne 2 Felder ( Eingabefeld und Ausgabefeld), wenn ich im Eingabefeld einzelne Buchstaben eingabe oder auch mehre Buchstaben hintereinander soll es über die onkeyup Funktion bei jede tasten Eingabe in der DB durchsuchen und das im Ausgabefeld darstellen. als bsp. Ich schreibe im Eingabefeld: a aa i ii u uu dann soll im Ausgabefeld : A AA i II U UU stehen.


    ich hab es soweit Geschaft das es bei der ERSTEN Eingabe was ausgibt nur wenn ich danach SPACE betätige und den nächsten buchstabe eingeben will gibt er mir nix aus :(


    kann mir jemand dabei weiter helfen??


    hier mein code:

    Quellcode

    1. <html>
    2. <head>
    3. <title>AutoComplete mit jQuery</title>
    4. <script src="jquery-1.2.1.pack.js" type="text/javascript"></script>
    5. <script type="text/javascript">
    6. function lookup(inputString) {
    7. if(inputString.length == 0) {
    8. $("#suggestions").hide();
    9. }
    10. else {
    11. $.post("request_handler.php", {queryString: inputString},
    12. function(data){
    13. if(data.length >0) {
    14. $("#suggestions").show();
    15. $("#autoSuggestionsList").html(data);
    16. }
    17. });
    18. }
    19. } // lookup
    20. function fill(thisValue) {
    21. $("#inputString").val(thisValue);
    22. $('#suggestions').hide();
    23. }
    24. </script>
    25. </head>
    26. <body>
    27. <input size="30" id="inputString" onkeyup="lookup(this.value);"type="text" />
    28. <div class="autoSuggestionsList" id="autoSuggestionsList" >
    29. </div>
    30. </body>
    31. </html>
    Alles anzeigen


    AutoComplete mit jQuery

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Torben Brodt () aus folgendem Grund: Code ergänzt

  • hi hier mein php code:


    <?php

    $db = new mysqli("localhost", "root" ,"","test");
    if(!$db) {

    echo "ERROR: Could not connect to the database.";
    } else {

    if(isset($_POST['queryString'])) {
    $queryString = $_POST['queryString'];

    if(strlen($queryString) >0) {

    $query = $db->query('SET character_set_results=utf8');
    $query = $db->query("SELECT *
    FROM `Tabelle`
    WHERE `Spalte` LIKE '$queryString'");
    if($query) {

    while ($result = $query ->fetch_object()) {

    echo "$result->Spalte";

    }
    } else {
    echo "ERROR: There was a problem with the query";
    }
    } else {

    }
    } else {
    echo "There should be no direct access to this script!";
    }
    }

    ?>

    findest du hier den fehler??
  • Also zuallererst, deine Script ist anfällig für SQL Injections. Es fehlt ein [phpdoc]mysqli.real-escape-string[/phpdoc]

    Quellcode

    1. $queryString = $db->real_escape_string($_POST['queryString']);


    Außerdem: Bitte benutze die syntax Buttons zur Formatierung deines Codes, du findest sie unter dem Texteingabefeld.

    Zu deinem Problem. Kann es sein, dass es schlichtweg keine Ergebnisse gibt? Überprüfe das mal wie folgt:

    Quellcode

    1. while(...) {
    2. $i++
    3. }
    4. echo "Es gab $i Ergebnisse für deine Suche nach ".htmlentities($queryString);
  • also Ergebnisse bekomme ich nur leider so:

    wenn ich : im eingabefeld : "a"
    ausgabefeld: "A"
    das klappt NUR wenn ich dann im Eingabefeld das "a" stehen lasse und noch ein Buchstabe weiter suchen möchte z.b:
    eingabefeld: "a" ( von der ersten eingabe) "b"
    ausgabefeld: "A" "B"
    also er soll nach jeder eingabe immer wieder in der tabelle suchen und es ausgaben. :)

    Außerdem: Bitte benutze die syntax Buttons zur Formatierung deines Codes, du findest sie unter dem Texteingabefeld.
    hab ich gefunden danke werde absofort drauf achten :)