[英]how to change the variable of php with javascript button click without reloading the page
我创建了一个新闻区域,在该区域中一次显示3个拇指消息源是来自mysql数据库。 我已经使用过这样的查询:
$ eu = 0; $ limit = 3; $ query2 = mysql_query(“ SELECT * FROM news
ORDER BY ID
DESC LIMIT $ eu,$ limit”);
现在我也用这样创建了两个按钮
我想使用此按钮来显示接下来的3个拇指onclick和上一个3个拇指。 但无法更改查询内的值,即$ eu。
我该如何使用javascript或任何其他建议更改mysql查询中的$ eu值,并且我也不想通过传递查询参数重新加载页面来做到这一点。 我想要它而无需重新加载页面
您将需要进行ajax调用,传递所需的$ eu值(例如3、6、9等),然后传递新闻源的内容,以替换现有批次。
您可以通过多种方式执行此操作,而最简单的方法取决于您使用的框架。 Google是您的朋友,这里有很多教程等。
您不能仅仅因为服务器端脚本已经运行并且javascript是客户端脚本而仅通过Javascript更改php变量。
我建议使用JavaScript将ajax请求发送到接受$ eu作为参数的PHP脚本。
在该PHP中,使用$ eu进行查询,并打印出搜索结果。
在您的javascript中,在成功执行ajax请求时捕获此结果,并使用结果处理/替换HTML中的某些元素。
您无法直接从Javascript更改任何PHP脚本的值,因为PHP是在将页面发送到浏览器(即服务器端)之前解析的,并且Javascript是由浏览器(即客户端)解析并执行的。
这种事情有两种主要的实现方式。 如果您确实想影响PHP变量值,则必须重新加载页面(例如,使用HTML表单)。 既然您说您不想这样做,那么正如其他人所建议的那样,您将要研究AJAX。
简而言之,您将使用Javascript将请求发送到PHP页面,该页面将运行您上面的查询(并且您可以传递新值以POST或GET数据的形式插入$ eu)并返回结果,您将使用它们来更新页面上的显示。
试试这个// PHP
$count=3;
$query= 'select * from news order by id desc ' ;
$limit_str=" limit 0,$count";
if(isset($_POST['page']))
{
$lim=$_POST['page'];
$offset=$lim[0]*$count;
$lim_str=" limit $offset, $count";
$query.=$lim_str;
}
//形成
<form method='post' >
< input type='submit' name='page[]' value='1' />
< input type='submit' name='page[]' value='2' />
< input type='submit' name='page[]' value='3' />
</form>
<?php
// Display logic
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.