Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态更改PHP变量_Javascript_Ajax - Fatal编程技术网

Javascript 动态更改PHP变量

Javascript 动态更改PHP变量,javascript,ajax,Javascript,Ajax,我有一个网站,从数据库中抓取一个随机条目,并显示给浏览者。这是我当前使用的代码: $rows = "SELECT * FROM xxx"; $rows1 = mysql_query($rows); $rows2 = mysql_numrows($rows1); $id= rand(1, $rows2); 这将生成一个ID号,用于选择相应的数据库条目,当然还有更多的php显示该条目 为了让用户从数据库生成新条目,他们单击一个按钮,该按钮使用以下代码刷新页面: <form> <i

我有一个网站,从数据库中抓取一个随机条目,并显示给浏览者。这是我当前使用的代码:

$rows = "SELECT * FROM xxx";
$rows1 = mysql_query($rows);
$rows2 = mysql_numrows($rows1);
$id= rand(1, $rows2);
这将生成一个ID号,用于选择相应的数据库条目,当然还有更多的php显示该条目

为了让用户从数据库生成新条目,他们单击一个按钮,该按钮使用以下代码刷新页面:

<form>
<input type=button value="Show me another one" onClick="window.location.reload()">
</form>
这很好,但它造成了谷歌Adsense的问题;它使Adsense记录了给定用户的大量页面印象。我还没有与谷歌就此事进行过任何通信,但这看起来一定像是我在为按印象付费的广告商玩这个系统。我担心这会导致谷歌自动阻止我从每印象广告中获得收入,并可能导致我的Adsense帐户被吊销


所以我的问题是,如何制作一个按钮,在不刷新页面的情况下从数据库中提取不同的条目?本质上,我需要找到一种在用户单击按钮后更改$id变量的方法

你有几种方法来实现你想做的事情

如果你想让它成为现实的HTML和PHP,你可以通过在你的页面中有一个IFRAME来解决你的问题,里面有你的重载按钮。当然,您不会在IFRAME打开的页面中插入googletracker。你可以用一点CSS来隐藏IFRAME糟糕的默认样式,这样它就不会突出你现有的页面

然而,这远远不是处理这一问题的最佳方式

正如deceze所建议的,您应该使用Ajax通过Javascript动态获取新信息。为了尽可能轻松地处理这个问题,我建议您选择一个Javascript框架,将所有恼人的跨浏览器部分留给它

例如,使用jQuery可以执行以下HTML+javascript

<!-- new content will appear in the div down below -->
<div id="content-target">
</div>

<form>
  <input type="button" id="refresher" />
</form>

<script type="text/javascript">
  $('#refresher').click(function(){
    $('#content-target').load('generator.php');
    return false;
  });
</script>
您应该花一些时间学习JS框架。这是一项非常好的投资

对于jQuery:

原型:

MooTools:


Dojo:overkill对于这种脚本来说

你需要做的是google for AJAX。你还需要学习如何从数据库中选择随机条目,你的方法非常浪费。好的,我会改变我的mysql,这样它就不会浪费太多,但是用php真的没有办法做到这一点吗?javascript呢?AJAX=异步javascript和XML