我又来了。我正试图用从数据库中检索到的数据来更改部门的内容。这必须在不重新加载页面的情况下完成,因此我使用xmlhttp和javascript。该网站正在CodeIgniter上运行。以下是代码及其简短摘要。我一直在学习本教程,但由于某种原因,当我单击按钮时,什么都没有发生。
查看*exampleInstallFolder/htdocs/application/obs/views/test_v.php*
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$( "#next_btn" ).click(function() {
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("listA").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getnext5.php?q="true);
xmlhttp.send();
})
</script>
</head>
<body>
<div id="listA">
</div>
<div id="next_btn">
</div>
</body>
</html>
现在,当我的按钮被点击时,我会触发该功能。该函数位于视图的头部,。我不确定带查询的文件(getnext5.php
)应该存储在哪里。现在它在views
文件夹中。文件的链接是这个xmlhttp.open("GET","getnext5.php?q="true);
,我应该以某种方式更改它吗?
函数exampleInstallFolder/htdocs/application/obs/views/getnext5.php
<?php
$con = mysqli_connect('localhost','root','root','obs2');
if (!$con)
{
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"obs2");
$sql="SELECT * FROM user WHERE id > 5";
$result = mysqli_query($con,$sql);
echo "<table>";
while($row = mysqli_fetch_array($result))
{
echo "<a style="display:block" href="base_url('core/detail/'.$row[id])">";
echo "<div id="suggested" onmouseover="" style="cursor: pointer;">";
echo "<div id="info">";
echo "<div id="info_center">";
echo "<p>" . $row['name'] . "</p>";
echo "</div>";
echo "</div>";
echo "<div class="mosaic-block fade">";
echo "<a href="base_url('core/detail/'.$row[id])" class="mosaic-overlay">";
echo '<div class="details">';
echo "<p>" . $row['summary'] . "</p>";
echo "</div>";
echo "</a>";
echo "<div class="mosaic-backdrop"><img src="www.puu.sh/5DSWj.jpg">";
echo "</div>";
echo "</div>";
echo "<div id="info">";
echo "<div id="info_center">";
echo "<p>" . "Rating: 7.7" . "</p>";
echo "</div>";
echo "</div>";
echo "</div>";
echo "</a>";
}
echo "</table>";
?>
在这个文件中,我建立了与数据库的连接,运行查询,将行存储在一个名为$pages
的数组中,然后使用while循环对结果进行样式设置。样式会被呼应,因为它随后由xmlhttp请求返回,并显示在listA
分区中,替换原始内容。我不确定回声写得对不对。
我愿意接受任何建议。我一整天都在努力解决这个问题,但没有成功。感谢大家的阅读,最重要的是感谢你们的回复。
您没有正确连接get参数。
xmlhttp.open("GET","getnext5.php?q="true);
q="true
<--true是布尔值!
试着这样打开:
xmlhttp.open("GET","getnext5.php?q=true");
如果确实要正确连接,请执行"q="+variable
您可以使用jquery ajax api,然后在成功函数中,您可以用从数据库检索的值替换div内容。