我有一个具有这种结构的PHP页面:
<?php
include 'header.php';
include 'content.php';
include 'footer.php';
?>
在header.php中,我有一个计算数据库中某些行的函数。
$show =$mysql->count('someparam', $foo['bar']);
if ($show > 0) {
echo $show;
}
这一切都很好。现在,在content.php文件中,用户可以执行更改标头中此$show
值的操作,但我需要重新加载页面以查看更新的$show
数字。
我想用JavaScript解决这个问题,但无法弄清楚如何做到这一点。
我尝试使用JavaScript重新加载计时器来解决它,如下所示:
<script>
function render (){
$('.customer-database').html(.customer-database)
}
window.setInterval(render, 500);
</script>
$show
计数器位于div类costumer-database
内。这是行不通的,因为我需要在HTML之后放入HTML代码,但我不想放入HTML代码。我只是想重新加载它。这可能吗?
我对JavaScript和PHP中的任何建议持开放态度。
答案 0 :(得分:1)
您可以对单独的PHP文件执行 AJAX请求。单独的PHP文件具有返回代码的代码:
$show =$mysql->count('someparam', $foo['bar']);
if ($show > 0) {
echo $show;
}
使用jQuery创建AJAX调用时,请参阅http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/获取帮助。
答案 1 :(得分:1)
如果您知道要替换的内容区域的名称/ ID是什么,则插入jquery ajax请求以仅重新加载页面的一部分非常简单。假设你已经包含了你的jquery库,你可以使用这个javascript chunk
path = "/path/to/my/action/"
$.ajax({
url : path,
success : function(response) {
$('.customer-database').replaceWith(response);
},
error : function(xhr) {
alert('Error! Status = ' + xhr.status);
}
});
然后你可以编写一个基本上只给你计数的Action,并将该Action重新加载到你的元素中 - 动作以你喜欢的任何计数+ html响应
答案 2 :(得分:1)
这应该有效:
function render (){
$('.customer-database').parent().load('myscript.php .customer-database');
^ ^ ^ ^ ^ ^ ^ ^
| select the container in | | | url | | select content | |
| which to reload content | | | to your | | to put in the | |
|______________________________| | | page | | container | |
| |__________| |________________| |
| send ajax call and replace content |
|_____________________________________|
}
答案 3 :(得分:0)
正如其他人所描述的那样,你想要使用ajax。 jQuery非常擅长这一点。使用jQuery,它就像
一样简单//whatever you do to change the $show value as a trigger, maybe a click?
$(".show_value_button").click(function(){
$("#header_div_id").load("header.php");
});