2015-12-20 2 views
0

Не показывать данные с php в ajax. Любая помощь будет оценена по достоинству.Как искать ключевое слово с помощью ajax в php

HTML:

Search Box:<input type="text" name="search" id="search"> 
<div id="search1"></div> 

AJAX:

 $("#search").keyup(function(){ 
     var search=$(this).val(); 
       $.ajax({ //GR ID Generation 
        method: "GET", 
        url: "search_rep.php?invo="+search, 
       }) 

        .done(function(msg) { 
     $("#search").html(msg); 
     $("#search1").val();  
     }); 

PHP:

$in = mysql_real_escape_string($_GET['invo']); 
    $msg = ''; 
    if(strlen($in) > 0 && strlen($in) < 20){ 
     $row = mysql_query("SELECT Bot_Name 
         FROM bot_info 
         WHERE Bot_Name 
         LIKE '%$in%'and Bot_Type='Printed'",$con); 
     while($result = mysql_fetch_array($row)){ 
     $msg .= $result['Bot_Name'] . "<br />"; 
     } 
    } 

Вывод должен быть показан как Google поисковая система. Когда вы вводите слово автоматически, все предложения отображаются относительно этого слова.

ответ

0

Вы, кажется, не эхом отдаете данные на странице в PHP. Рассмотрим попытку

$in = mysql_real_escape_string($_GET['invo']); 
$msg = ''; 
if(strlen($in) > 0 && strlen($in) < 20){ 
    $row = mysql_query("SELECT Bot_Name 
        FROM bot_info 
        WHERE Bot_Name 
        LIKE '%$in%'and Bot_Type='Printed'",$con); 
    while($result = mysql_fetch_array($row)){ 
    $msg .= $result['Bot_Name'] . "<br />"; 
    } 
} 
echo $msg; 

Вы также можете посмотреть на использование MySQLi, а не на быстро устаревший MySQL на PHP.

Если это не сработает, возможно, это проблема с вашей базой данных или другой областью вашего кода, сообщите мне.

+0

Запрос работает fine..Thanks для вашего информативный ответ .. – Nits

0

Javascript

<script> 
function showHint(str) { 
    if (str.length == 0) { 
     document.getElementById("txtHint").innerHTML = ""; 
     return; 
    } else { 
     var xmlhttp = new XMLHttpRequest(); 
     xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
       document.getElementById("txtHint").innerHTML = xmlhttp.responseText; 
      } 
     } 
     xmlhttp.open("GET", "cities.php?invo="+str, true); 
     xmlhttp.send(); 
    } 
} 
</script> 

HTML

<p><b>Start typing a name in the input field below:</b></p> 
<form> 
First name: <input type="text" onkeyup="showHint(this.value)"> 
</form> 
<p>Suggestions: <span id="txtHint"></span></p> 

PHP/Ajax -> cities.php

$query=mysql_query("select name from cities", $con); 
while($row = mysql_fetch_array($query)){ 
$a[]=$row['name']; 
} 
$q = $_REQUEST["invo"]; 
$hint = ""; 
if ($q !== "") { 
    $q = strtolower($q); 
    $len=strlen($q); 
    foreach($a as $name) { 
     if (stristr($q, substr($name, 0, $len))) { 
      if ($hint === "") { 
       $hint = $name; 
      } else { 
       $hint .= ", $name"; 
      } 
     } 
    } 
} 
echo $hint === "" ? "no suggestion" : $hint; 
+0

Спасибо для вашего ответа. Выход правильный. Но как его показать, чтобы он выглядел как поисковая система. – Nits

Смежные вопросы