【问题标题】:How to disable button based on Database?如何禁用基于数据库的按钮?
【发布时间】:2019-04-12 23:44:30
【问题描述】:

我需要禁用或隐藏,按钮如果存在username在表格中,==登录用户

例如: 用户名John 存在于表paym 我们应该禁用按钮到John

表:paym

 ID        username        column1      column2  
+-------+-------------+-------------+-----------+
|   1   |  John       |  Value      |    Value  |
+-------+-------------+-------------+-----------+
|   2   |  Alex       |  Null       |    Null   |
+-------+-------------+-------------+-----------+

只有我能提供给你的信息:((

这是 Html 中的按钮:

 <input class="reload-but" type="button" value="↻"">

**后面的逻辑类似这个php代码:**

  <?php
     $user_check_query = "SELECT * FROM paym
 WHERE username = '" . $_SESSION['username'] . "' ";
      $result = mysqli_query($db, $user_check_query);
      $row = mysqli_fetch_array($result, MYSQLI_ASSOC);

  ?>

谁能做完全可行的代码,有解释的代码!

Related topic to this!!

【问题讨论】:

  • if (!in_array('John', $rows)) {echo "&lt;button&gt;&lt;/button&gt;";}?
  • @Justinas 感谢您的回复,您能用 php 代码完全解释您的代码吗?我不明白在哪里使用您的代码:(

标签: javascript php html


【解决方案1】:

一种方法是您可以通过在 HTML 中回显表格来填充 Php 中的表格。

另一种方法是在您的 html 中使用 for 循环遍历您的数据,并在循环中执行 if else 来检查用户名的存在。如果为true,则使用这组按钮代码,如果为false,则使用这组按钮代码。

【讨论】:

    【解决方案2】:

    代码 sn-p 有点脱离上下文,所以很难知道这是否可能,但假设您的 PHP 和 HTML 是同一个脚本文件的一部分(或者至少是包含/需要 HTML 的那个)带有数据库代码的那个),那么你可以做一些简单的事情:

    <?php
      $user_check_query = "SELECT * FROM paym WHERE username = '" . $_SESSION['username'] . "' ";
      $result = mysqli_query($db, $user_check_query);
      $showButton = (mysqli_num_rows ($result) > 0 ? true : false);
    ?>
    

    ...

    <?php
      if ($showButton == true) {
    ?>
        <input class="reload-but" type="button" value="↻"">
    <?php
      }
    ?>
    

    这将导致 PHP 仅在 if 条件为真时将按钮 HTML 发送到浏览器。

    【讨论】:

      【解决方案3】:
      echo "<input class=\"reload-but\" type=\"button\" value=\"↻\"".(count($row) > 0 ? " disabled" : " ".">";
      

      或者,正如@Justinas 所说,只有在获得肯定结果时才可以回显按钮。

      【讨论】:

      • 感谢您的回复,您能用php代码完全解释您的代码吗?我不明白把你的代码放在哪里:(
      • 如果 'John' 在表中,您的 $rows 将具有值。因此,您可以稍后使用此条件。您可以使用 php 代码(带有 echo)将其添加到您的页面,而不是使用纯 html 放置您的按钮,如果 John 不在表格中,那么您将属性“禁用”添加到您的按钮,因此他无法单击就可以了。
      • @Autruche OP 的代码没有任何名为$rows 的变量。首先,您必须展示如何创建和填充它。
      • 好的。但是 $row 是一个数组,表示表的单行。所以是的,如果 $row 为空(因为查询没有返回任何行),使用 count() 将返回 0,并且代码将按要求工作,但是......从语义上讲,当您检查查询输出时,这是一种奇怪的方式可以只使用用于此目的的 mysqli_num_rows() 函数,而不是 mysqli_fetch_array()。看起来您正在尝试计算行中的列数,而真正的意图对于阅读代码的人来说并不是很明显。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-27
      • 1970-01-01
      • 2019-05-09
      • 2013-04-27
      • 2011-09-15
      • 2013-10-14
      相关资源
      最近更新 更多