繁体   English   中英

如何在不重新加载页面的情况下使用javascript按钮单击更改php的变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM