大家好
我正试图写我的第一个AJAX脚本,这是我在帮助下做的:w3schools.com
不幸的是,我不能进展到下一章,因为我目前的脚本不工作,我不能为我的生活发现错误,任何帮助将是受欢迎的。
<script>
function showSport(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","getdata.php?q="+str,true);
xmlhttp.send();
}
}
</script>
<form>
<select name="users" onchange="showSport(this.value)">
<option value="">Select a Sport:</option>
<option value="Rugby">Rugby</option>
<option value="Cricket">Cricket</option>
<option value="Football">Football</option>
</select>
</form>
<br>
<div id="txtHint"><b>Sport info will be listed here...</b></div>
这是我的PHP文件getdata。PHP
<?php
include'connect.php';
$q = intval($_GET['q']);
$sql="SELECT * FROM events WHERE sport_type = '".$q."'";
$result=mysql_query($sql);
echo "<table>
<tr>
<th>Competition</th>
<th>Home Team</th>
<th>Away Team</th>
<th>Event Date</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['competition'] . "</td>";
echo "<td>" . $row['team1'] . "</td>";
echo "<td>" . $row['team2'] . "</td>";
echo "<td>" . $row['event_date'] . "</td>";
echo "<td>" . $row['Job'] . "</td>";
echo "</tr>";
}
echo "</table>";
我的connect.php文件正在工作,因为我在所有其他脚本上使用它,并且我的数据库表事件填充了我请求的所有数据。
当我运行脚本时,只有表头得到显示,没有表内的任何信息,即我得到一个空表返回。
欢迎任何帮助
这里mysql和mysqli是不同的。你不能同时使用这两个函数。这取决于您在连接文件中使用了哪个函数(在这里是connect.php)。Mysql_connect()或mysqli_connect()在整个项目中只使用该函数。这就是为什么你不能得到想要的输出。如果你使用mysql_connect(),那么不要使用mysqli实例来执行查询或获取结果。