如何在单击按钮时运行 mysql 查询

Posted

技术标签:

【中文标题】如何在单击按钮时运行 mysql 查询【英文标题】:How can i run a mysql query on button click 【发布时间】:2020-10-28 04:13:11 【问题描述】:

我是 php 新手,所以这可能是我错过的显而易见的事情。 我正在尝试制作一个增加数据库中值的按钮:

<?php
        $alist = mysqli_query($conn, "SELECT * FROM `posts` ORDER BY `posts`.`id` DESC");
        $results = mysqli_num_rows($alist);

        if ($results > 0)
            while($row = mysqli_fetch_array($alist)) 
                echo $row['uid']. " says: ".$row['postText']."  <button onclick=".mysqli_query($conn, "UPDATE `posts` SET `postLikes` = postLikes+1 WHERE uid = ".$row['uid'])." name='likebtn'>????</button>".$row['postLikes']."<br>";
            
        
        ?>

制作按钮的部分在第 6 行 我只是想知道如何在 按钮点击上使用 mysqli_query 顺便说一句,我已经尝试过这个:“https://***.com/questions/3862462/php-mysql-run-query-on-button-press-click”但没有结果

提前致谢

【问题讨论】:

您可以在按钮单击时调用 AJAX 请求。 (onClick) 函数不能直接在服务器脚本中工作,所以你需要编写 ajax 函数并调用 PHP Query。 【参考方案1】:

如果你的当前页面被称为first.php, 放入按钮

<button><a href="first.php?p=like"></a></button>

<?php
if ( isset($_GET['p']) && $_GET['p']=="like") 

do your query



?>

如果你不想重新加载,那么你需要ajax,

希望这对您有所帮助。 :)

【讨论】:

【参考方案2】:

这里有语法错误 echo $row['uid']. " says: ".$row['postText']." &lt;button onclick=".mysqli_query($conn, "UPDATE posts SET postLikes = postLikes+1 WHERE uid = ".$row['uid'])." name='likebtn'&gt;?&lt;/button&gt;".$row['postLikes']."&lt;br&gt;";

你可以这样做

$q = mysqli_query($conn, "UPDATE posts SET postLikes = postLikes+1 WHERE uid = ".$row['uid']);

echo $row['uid']. " says: ".$row['postText']." &lt;button onclick=".$q." name='likebtn'&gt;?&lt;/button&gt;".$row['postLikes']."&lt;br&gt;";

【讨论】:

以上是关于如何在单击按钮时运行 mysql 查询的主要内容,如果未能解决你的问题,请参考以下文章

如何查看navicat for mysql是不是激活

如何跳过初始 Apollo 查询并在按钮单击时获取数据?

如何在按钮单击 React.js 时运行警报

如何在 WPF 中停止方法(通过按钮单击触发)

如何在 CRM 的子网格形式中单击按钮时显示查找窗口?

PHP - 单击单选按钮时如何将数据更新到 MySQL