2016-08-20 2 views
0

Hallo ich bin ein Anfänger in PHP und jQuery so früh Entschuldigung, wenn meine Frage dumm ist. Ich habe ziemlich viel auf Ajax-Live-Suche gesucht, aber es gibt nicht viel Hilfe im Internet ... Also, wenn ich etwas in meine Eingabebox eintippe, kommt nichts heraus, also dachte ich, es wäre ein Problem mit der Datenbank zu verbinden, aber das funktioniert fein. Und jetzt weiß ich nicht wirklich was zu tun ist, weil mein Code richtig klingt (obwohl es nicht ist :-)). Wenn mir jemand helfen könnte, wäre das ein großes Dankeschön.Ajax-Live-Suche keine Ausgabe

Hier sind die Codes: HTML:

<!DOCTYPE html> 
<html> 
<head> 
    <title>live search test</title> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
    <script scr="jquery.js"></script> 

    <script type="text/javascript"> 
     functon getNames(value) { 
     $.post("fetch.php",{partialName:value},function(data) 
      $("#results").html(data); 
     }); 
     } 

    </script> 

</head> 
<body> 
    <h1>LIVE SEARCH WITH AJAX TEST</h1> 
    <input type="text" onkeyup="getNames(this.value)"> 
    <br> 
    <div id="results"> 

    </div> 
</body> 
</html>  

PHP:

<?php 
mysql_connect("localhost","root","") or die(mysql_error()); 
mysql_select_db("smartphone")or die(mysql_error()); 


$partialName = $_POST['partialName']; 

$names = mysql_query("SELECT name FROM smartphone WHERE name LIKE '%$partialName%'"); 
while ($name = mysql_fetch_array($names)) { 
    echo"<div>".$name['name']."</div>"; 
} 

?> 
+0

Ihre MySQL-Abfrage ist anfällig für SQL-Injection, wechseln Sie bitte mysql_query für gebundene PDO-Parameter. Siehe https://secure.php.net/manual/en/ref.pdo-mysql.php – jedifans

+1

Nicht nur das Ergebnis in Ihrem PHP-Code. Erstellen Sie ein XML- oder JSON-Format des gewünschten HTML, das Sie anzeigen möchten, und geben Sie die formatierten Daten zurück. Dann zeig es einfach in deiner JQuery. –

+0

@tom die Antwort und überprüfen .. alert (Daten), ob Anfrage, reagiert oder nicht, können Sie auch überprüfen, dass auf der Konsole, Netzwerk Registerkarte .. Antworten und Ajax Anrufe – Keerthivasan

Antwort

0

Ich denke, wenn Sie Ihren Browser Konsolen-Tool überprüfen, werden Sie sehen 'nicht definiert ist $'.

Es sei denn, es für dieses Beispiel war, ist das hier falsch:

<script scr="jquery.js"></script> 

Es sollte:

<script src="jquery.js"></script> 

Bitte beachten Sie auch Ihre unsichere SQL-Abfrage an die sichere PDO gebunden Parameter Stil wechseln, zu vermeide es, ausgenutzt zu werden

+0

Ich kann keinen Unterschied zwischen den beiden "jquery.js" sehen und danke, dass ich meinen Code – tom3883

+0

@ tom3883 'scr' vs.' src' sichern werde. das richtige ist src, wie in der Quelle. – Vaviloff

+0

oh ok danke – tom3883