php - 如果值存在或等于 while 内的数组,则禁用按钮

标签 php html mysql backend

我现在正在为自己编写一个网站。我有一个无法解决的问题。 该网站是关于通过网站自定义余额购买文件的。我想要做的是,如果用户购买了此文件 b4,则禁用购买按钮。我试图检查一段时间内的数据,但不知道如何? 这就是我。

               while ($row = $rocket->fetch())
              {
              ?>
                <tr>
                  <td><?php echo $row['id']; ?></td>
                  <td><?php echo $row['name']; ?></td>
                  <td><?php echo $row['uploader']; ?></td>
                  <td><?php echo $row['uploadtime']; ?></td>
                  <td><button <?php 
                  if ($row['id'] == $row2['file_id']) // <---- Working only for the first since it's not a loop
                  {
                    echo "disabled";
                  }
                  ?>
                  ><a href="download.php?id=<?php echo $row['id']; ?>"></a><?php echo $row['price'] . "D$" ?></button></td> 
                </tr>
              <?php } ?>

我尝试过

$row['id'] == $row2['file_id'];

但最终它只检查第一行。 也许问题很容易解决,因为新手找不到解决方案。 有疑问:

  $rocket = $bdd->prepare('SELECT money FROM users WHERE id = ?');
$rocket->execute(array($_SESSION['id']));
$row = $rocket->fetch();
$rocket->closeCursor();

$rocket = $bdd->query('SELECT * FROM files');
$rocket2 = $bdd->prepare('SELECT * FROM user_files WHERE user_id = ?');
$rocket2->execute(array($uid));
$row2 = $rocket2->fetch();

我想要做的是检查每个 $row 是否存在 $row['file_id'] 。

最佳答案

你可以这样做:

while ($row = $rocket->fetch())
              {
              ?>
                <tr>
                  <td><?php echo $row['id']; ?></td>
                  <td><?php echo $row['name']; ?></td>
                  <td><?php echo $row['uploader']; ?></td>
                  <td><?php echo $row['uploadtime']; ?></td>
                  <td>
                    <?php
                    $classdis= "";   
                    if($row['id'] == $row2['file_id']) {
                    $classbtndis = "disabled";
                     }
                      ?>                
                <button <?php echo $classbtndis ? $classbtndis : "" ?>
                  ><a href="download.php?id=<?php echo $row['id']; ?>"></a><?php echo $row['price'] . "D$" ?></button></td> 
                </tr>
              <?php } ?>

关于php - 如果值存在或等于 while 内的数组,则禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59271977/

相关文章:

PHP SQL 驱动性能

html - Thymeleaf,获取已经迭代的对象的第一个元素列表

html - 如何在 css 中平滑悬停时为背景图像大小设置动画?

mysql查询 - 2个外键

带有 WHERE 子句和 INNER JOIN 的 MySQL 更新查询不起作用

mysql - 当 T1 有许多 T2 且条件在 T2 中时,将 T2 连接到 T1 而不是将 T1 连接到 T2 是否更有效?或者是一样的?

php - mysql 子查询有多于一列

php - 如何从 mysql 中检索行到 php/html 表中

php - 如何一次插入多个技能?

css - Div 在 IE 兼容模式下移动