使用Ajax在DIV中重新加载MySQL数据

时间:2012-06-17 10:25:39

标签: php jquery mysql ajax

我需要建立一个类似于fmylife.com的温和系统。基本上我遇到的问题是使用Ajax(没有页面刷新)将MySQL查询加载到div中。 MySQL查询

$sql = mysql_query(“SELECT * FROM posts WHERE active =’0’” LIMIT 1) or die (mysql_error());
$row = mysql_fetch_array($sql);

HTML

<div class=”post-body”><?php echo $row[‘sitepost’];?></div>

按“是”或“否”按钮时应重新加载此数据。提前致谢。

3 个答案:

答案 0 :(得分:6)

post.php

中的

$sql = mysql_query("SELECT * FROM posts WHERE active ='0' LIMIT 1") or die (mysql_error());
$row = mysql_fetch_array($sql);
echo $row['sitepost'];

<强> JS

<script type="text/javascript">
$(document).ready(function(){
   $("#yes").click(function(){
      $(".post-body").eq(0).load("post.php");
   })
})
</script>

<强> HTML

<div id="yes">YES</div>
<div class="post-body"></div>

答案 1 :(得分:5)

@mgraph已关闭,但如果您想在按钮上执行此操作,请单击

post.php

中的

//$UserOption will be Yes/No for button clicks or empty string for first load of the page

$UserOption = $_REQUEST['UserClicked'];

//Id will be set if a vote has been clicked or empty string if it's the first load
$Id = $_REQUEST['Id'];

//(Do something with $UserOption)

$sql = mysql_query("SELECT * FROM posts WHERE active ='0' LIMIT 1") or die (mysql_error());
$row = mysql_fetch_array($sql);
echo $row['sitepost'];

<强> JS

<script type="text/javascript">
$(document).ready(function(){
   update(null,null);
})

function update(Id, Vote) {
    $(".post-body").eq(0).load("post.php?UserClicked=" + Vote + "&Id=" + Id);
}
</script>

<强> HTML

<div class="post-body"></div>


<button type="button" onclick="update(1, 'Yes');">Yes</button>
<button type="button" onclick="update(1, 'No');">No</button>



<button type="button" onclick="update(2, 'Yes');">Yes</button>
<button type="button" onclick="update(2, 'No');">No</button>

替代HTML / JS

<script type="text/javascript">
$(document).ready(function(){
    $("#yes").click(function(){
        update('Yes');
    })
    $("#no").click(function(){
        update('No');
    })
    update();
})

function update(Vote) {
    $(".post-body").eq(0).load("post.php?UserClicked=" + Vote);
}
</script>

<div class="post-body"></div>
<button id="yes" type="button">Yes</button>
<button id="no" type="button">No</button>

答案 2 :(得分:4)

您可以添加$("html, body").animate({ scrollTop: 0 }, 500);。因此,当您单击“是”按钮时,滚动向上移动到顶部。它看起来不错。