【问题标题】:how to change the variable of php with javascript button click without reloading the page如何在不重新加载页面的情况下通过单击 javascript 按钮更改 php 的变量
【发布时间】:2012-03-16 03:47:08
【问题描述】:

我创建了一个新闻区,我在其中一次显示 3 个拇指新闻,来源来自 mysql 数据库。 我使用了这样的查询:

$eu = 0; $限制 = 3; $query2=mysql_query("SELECT * FROM news ORDER BY ID DESC LIMIT $eu,$limit");

现在我也创建了两个这样的按钮

我想使用此按钮在点击时显示下 3 个拇指和前 3 个拇指。但无法更改查询中的值,即 $eu。

如何使用 javascript 或任何其他建议更改 mysql 查询中的 $eu 值,而且我不想通过传递查询参数重新加载页面来执行此操作。我想要它而不重新加载页面

【问题讨论】:

  • AJAX 听起来可以解决几乎所有问题。
  • 请注意 PHP 是服务器端,JavaScript 是客户端。因此,JavaScript 无法访问 PHP。

标签: php javascript mysql variables


【解决方案1】:

您需要进行 ajax 调用,传入所需的 $eu 值(例如 3、6、9 等),然后传回新闻提要的内容,以替换现有批次。

有很多方法可以做到这一点,最简单的方法取决于您使用的框架。谷歌是你的朋友,有很多教程等等。

【讨论】:

  • 你能不能在这里写代码来用ajax改变按钮点击时的$eu值,因为我不知道你写代码的ajax我会理解的。它将被应用
【解决方案2】:

您不能仅仅因为服务器端脚本已经运行,而 javascript 是客户端脚本,就从 Javascript 更改 php 变量。

我的建议是,使用 javascript 向接受 $eu 作为参数的 PHP 脚本发送 ajax 请求。

在那个 PHP 中,使用 $eu 进行查询,并打印出搜索结果。

在您的 javascript 中,在成功的 ajax 请求时捕获此结果,并用结果处理/替换 HTML 中的某些元素。

【讨论】:

    【解决方案3】:

    您不能直接从 Javascript 更改任何 PHP 脚本的值,因为 PHP 在页面发送到浏览器(即服务器端)之前被解析,而 Javascript 由浏览器(即客户端)解析和执行。

    完成这类事情有两种主要方式。如果您真的想影响 PHP 变量值,则必须重新加载页面(例如使用 HTML 表单)。既然你说你不想那样做,那么正如其他人所建议的那样,你会想看看 AJAX。

    简而言之,您将使用 Javascript 向 PHP 页面发送请求,该页面将运行您上面的查询(您可以传递一个新值以 POST 或 GET 数据的形式插入 $eu)并返回结果,然后您将使用这些结果来更新页面上的显示。

    【讨论】:

      【解决方案4】:

      试试这个 //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
      ?>
      

      【讨论】:

      • 他说他想在不重新加载页面的情况下这样做
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 2022-11-17
      • 1970-01-01
      • 1970-01-01
      • 2015-02-24
      • 2020-04-20
      • 2020-12-29
      相关资源
      最近更新 更多