Php和Ajax不显示来自SQL的结果
我创建了proba.html文件getuser.php、名为“mobilni”的数据库和名为“imena”的表。代码有什么问题,它没有显示表中的结果,只是空白 proba.html代码:Php和Ajax不显示来自SQL的结果,php,mysql,ajax,Php,Mysql,Ajax,我创建了proba.html文件getuser.php、名为“mobilni”的数据库和名为“imena”的表。代码有什么问题,它没有显示表中的结果,只是空白 proba.html代码: <script> function showUser(str) { if (str == "") { document.getElementById("txtHint").innerHTML = ""; return; } else {
<script>
function showUser(str) {
if (str == "") {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
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","getuser.php?q="+str,true);
xmlhttp.send();
}
}
</script>
<form>
<select name="okrug" onchange="showUser(this.value)">
<option value="">Okrug:</option>
<option value="Raski">Raski</option>
<option value="Banatski">Banatski</option>
<option value="Backi">Backi</option>
<option value="Beogradski">Beogradski</option>
</select>
</form>
<br>
<div id="txtHint"><b>Person info will be listed here...</b></div>
函数showUser(str){
如果(str==“”){
document.getElementById(“txtHint”).innerHTML=“”;
返回;
}否则{
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}否则{
//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“txtHint”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“getuser.php?q=“+str,true”);
xmlhttp.send();
}
}
奥克鲁格:
拉斯基
巴纳特斯基
巴基
贝奥格拉斯基
人员信息将在此处列出。。。
getuser.php代码:
<?php
$q = intval($_GET['q']);
$con = mysqli_connect('localhost','root','','mobilni');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"mobilni");
$sql="SELECT * FROM imena WHERE Okrug = '".$q."'";
$result = mysqli_query($con,$sql);
echo "<table>
<tr>
<th>Ime</th>
<th>Okrug</th>
<th>Telefon</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['Ime'] . "</td>";
echo "<td>" . $row['Okrug'] . "</td>";
echo "<td>" . $row['Telefon'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
而不是
$q = intval($_GET['q']);
试试这个:
$q = $_GET['q'];
请看,如果这有帮助的话。请做一些调试工作-读取日志、var_dump vars等。没有人会为您这样做。我试过了,但日志中没有任何错误。您测试过您的查询吗?它甚至返回了什么吗?尝试调试,您会很容易地缩小范围。在ajax函数中尝试alert(str)。和echo$q;在php中,如果获得这些值,请检查sql查询