由于单击按钮(传递了按钮“数据”),如何运行 PHP 函数?

Posted

技术标签:

【中文标题】由于单击按钮(传递了按钮“数据”),如何运行 PHP 函数?【英文标题】:How to run a PHP function due to a button click (with button 'data' passed)? 【发布时间】:2019-10-22 06:43:16 【问题描述】:

我知道 AJAX 可以解决我的问题。但是,我需要帮助我如何在我的特定情况下解决它。我在页面上管理一些分类项目,它们通过 php 脚本显示(检查数据库,如果项目可用,如果是,则显示)。我现在想要一个管理页面,我可以在其中通过排序表“切换”以显示或不显示项目(将其设置为可用或不可用。

我需要的是:如果单击按钮,我想启动一个 php-skript。应该有一个值传递给该脚本(按钮 id)。脚本本身应该打开一个 SQL 连接,根据传递的按钮 ID 更改数据库值。然后关闭连接。 (可选)还可以刷新单击按钮的表(或一个值)。

有人可以帮助我,至少告诉我我需要做什么吗? (jQuery,Ajax?)。 ID 的传递很重要,否则我需要为每个按钮执行功能。

表格条目如下所示:

<tr>
    <td>Himbeerhonig</td>
    <td id="himbeerhonig">Ja</td>
    <td><button type="button" id="himbeerhonig" onclick="function()">press me to execute function</button></td>
</tr>```

(possible PHP pseudocode)
open SQL connection
   look for database entry based on the passed ID
   change the value of the found entry (!currentValue)
close SQL connection

*optionally*
refresh the <td id="himbeerhonig"> with the updated value. 

非常感谢任何帮助!只需要一些关于如何正确执行的提示。到目前为止,这只是我目前很难掌握的一个概念。

【问题讨论】:

你应该在***.com/questions/5826784/…这个帖子中找到你的答案 【参考方案1】:

1- 如果您想使用 ajax(无需刷新浏览器)来执行此操作,您应该创建一个单独的 php 文件,并将您的 php 脚本放在那里。它被称为api(api 有特殊的输出格式,如果你想这样做,请搜索create api in php)。然后在javascript上,您应该在按钮的onclick事件上对该php地址进行ajax调用。然后 javascript 将返回数据,您可以根据该数据创建元素。

2- 但是,您可以在没有 ajax 的情况下执行此操作(它将刷新浏览器)。就像你写的那样写你的内联php:

<html>
<!-- your html codes-->
<?php
  if($_GET['buttonClicked'])
  //put your php codes here to run when button clicked
  ?>
    <!-- you can even put html here, even it can be on php loop. -->
  <?
  
<!-- your html codes-->

<!-- turn your button to a form-->
<form action="/" method="get">
  <input name="buttonClicked" hidden value='1'>
  <input type="submit" value="Submit">
</form>

</html>

就这么简单。单击按钮时,将向当前页面发送一个获取请求,并由 php 处理它,例如它将向页面呈现额外的 html 元素。

【讨论】:

非常感谢您的回答。我会先在没有 ajax 的情况下尝试它,然后可能会使用 ajax 方式。再次感谢您提供易于理解的解释。 :) @wftico 欢迎您。但是我没有测试代码,我只是想描述一下这种方法。因此,如果您遇到语法错误或其他任何问题,请不要惊慌。这里有更多代码可以用于这两种方法:***.com/questions/20738329/… 非 Ajax 解决方案对我来说效果很好。当然,页面重新加载实际上真的很烦人。但无论如何,这只是一个测试项目。当我有时间时,我会尝试 REST API 解决方案。 :) @wftico 是的!历史上我第一次手动编写运行时没有错误的代码:p 只是开玩笑,很高兴它有帮助:D

以上是关于由于单击按钮(传递了按钮“数据”),如何运行 PHP 函数?的主要内容,如果未能解决你的问题,请参考以下文章

单击提交按钮时如何传递单击按钮的值?

如何通过统一单击UI按钮来传递值

C#如何将方法传递给基本的WinForm按钮单击事件

如何通过单击按钮将 Listview 中的数据传递到购物车列表(新活动)。我插入到 listview 的数据正在使用 SQLite

单击时如何将按钮值从自定义小部件传递到 tkinter 中的主应用程序

如何将数据从活动 A 传递/保存到 B,然后再传递到 B?