AJAX + PHP Поиск данных - PullRequest
       2

AJAX + PHP Поиск данных

0 голосов
/ 23 января 2011

Я использую приведенный ниже код для извлечения информации из моей базы данных, в меню параметров отображаются данные, но по какой-то причине значение не передается для извлечения информации с использованием ajax.Пожалуйста, порекомендуйте.

PHP:

 <html>
 <head>
 <script type="text/javascript">
 function showUser(str)
 {
 if (str=="")
 {
 document.getElementById("txtHint").innerHTML="";
  return;
  }
 if (window.XMLHttpRequest)
 {// code for IE7+, Firefox, Chrome, Opera, Safari
 xmlhttp=new XMLHttpRequest();
 }
 else
 {// code for IE6, IE5
 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
 xmlhttp.onreadystatechange=function()
 {
 if (xmlhttp.readyState==4 && xmlhttp.status==200)
 {
 document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
  }
  }
 xmlhttp.open("GET","ajax.php?q="+str,true);
  xmlhttp.send();
  }
  </script>
 </head>
 <body>
<select onchange="display_data(this.value);">
<option>Select user</option>
<?php
include("config.php");

$query="SELECT p_name, full_name FROM users order by p_name asc";
$result=mysql_query($query);
while(list($p_name, $full_name)=mysql_fetch_row($result)) {
    echo "<option value=\"".$p_name."\">".$full_name."</option>";
}

?>
</select>
<div id="txtHint"><div>
</body>
</html>

Ajax.php

 <?php
 $q=$_GET["q"];

 include("config.php");


 //Query
 $sql = "select `full_name` from `users` where `p_name` = '$q'";
 $query = mysql_query($sql) or die ("Error: ".mysql_error());

    while ($row = mysql_fetch_array($query)){

 $full_name = $row['Full_name'];


        print $full_name

        ?>

Ответы [ 3 ]

2 голосов
/ 20 октября 2011
Jquery Ajax call through data serach from php file  

$('#btnSubmit').click(function() {  


   var name = $('#Name').val();

       $.ajax({  
           type: "POST",  
           url: "search.php",
           data: "name="+ name,  
           success: function(response){ 
            $('#search').html(response);
           }  
       });
  });
1 голос
/ 23 января 2011

Теперь это работает. В вашем коде было две ошибки. Первый я исправляю onchange = "showUser (this.value); а второй - echo $ row ['full_name'];} Ajax.php

 <?php
$q=$_GET["q"];
include("config.php");
//Query
$sql = "select `full_name` from `users` where `p_name` = '$q'";
$query = mysql_query($sql) or die ("Error: ".mysql_error());
while ($row = mysql_fetch_array($query)){
    echo $row['full_name'];
}
?>

Index.php

 <html>
 <head>
 <script type="text/javascript">
 function showUser(str)
 {
if (str=="")
{
 document.getElementById("txtHint").innerHTML="";
return;
}
  if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
   {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
 if (xmlhttp.readyState==4 && xmlhttp.status==200)
 {
 document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>
 <select onchange="showUser(this.value);">
 <option>Select user</option>
 <?php
 include("config.php");
$query="SELECT p_name, full_name FROM users order by p_name asc";
$result=mysql_query($query);
while(list($p_name, $full_name)=mysql_fetch_row($result)) {
echo "<option value=\"".$p_name."\">".$full_name."</option>";
}

?>
</select>
<div id="txtHint"><div>
</body>
</html>
enter code here
1 голос
/ 23 января 2011

Кажется, что вы не закрываете цикл while в вашем "ajax.php". Остальная часть кода вроде бы в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...