使用PHP更改页面的各个方面

时间:2011-09-30 19:39:45

标签: php javascript jquery html

我正在尝试让我的PHP代码在执行时更新我的​​HTML部分,并且我不确定如何在不依赖于javascript和隐藏div等的情况下执行此操作。 它的工作方式是,当用户点击“tick”或“cross”时,它会更新数据库并隐藏div而显示另一个。在页面加载时查询此DB,并且使用当前的总刻度和十字架加载投票栏。然后根据每边有多少票数,在这些柱上设置%宽度 我现在有:

<div id="voting">
<a href="#" onClick="updatelikes();">
<img src="/images/tick.png" width="250px" />
</a>
<a href="#" onClick="updatedislikes();">
<img src="/images/cross.png" width="250px" />
</a>
</div>
<div id="votingoff" style="display:none;">
<img src="/images/tick.png" width="250px" />
<img src="/images/cross.png" width="250px" />
</div>

function updatelikes() {
    $.get("updatelikes.php");
    voting = document.getElementById('voting');
    voting.style.display="none";
    votingoff = document.getElementById('votingoff');
    votingoff.style.display="";
    return false;
}
function updatedislikes() {
    $.get("updatedislikes.php");
    voting = document.getElementById('voting');
    voting.style.display="none";
    votingoff = document.getElementById('votingoff');
    votingoff.style.display="";
    return false;
}

这适用于从显示中删除一个,并显示另一个。但是,我觉得这个代码有点笨拙,我希望“投票栏”更改其宽度并更新值。由于HTML代码是在PHP脚本的页面加载时生成的,所以当加载“updatelikes.php”或“updatedislikes.php”时我不知道如何更新它,因为我觉得我必须有另一个div是隐藏,然后添加到它,然后显示它,并隐藏另一个。我认为这可能是一个笨重的,甚至可能在某些用户计算机上很慢 任何输入都非常感激,因为我现在完全迷失了!

1 个答案:

答案 0 :(得分:3)

我看到你已经在使用JQuery访问“updatelikes.php”和“updatedislikes.php”。您可以从php页面轻松返回一个返回到javascript函数的值:

$.get('updatedislike.php', function (response) {
    //Logic in here
});

所以在Like / Dislike中你可以从数据库中获得总票数并将其返回到你的javascript函数,然后“response”参数将包含你从php函数返回的任何内容。返回值后,您只需在页面加载时重新调用您调用的任何内容(如果您返回/完全按照首先加载页面时执行的操作)。

Here你可以找到如何将php文件中的值返回到你的jquery / javascript函数。

祝你好运!

Hanlet