我现在正在为自己编写一个网站。我有一个无法解决的问题。 该网站是关于通过网站自定义余额购买文件的。我想要做的是,如果用户购买了此文件 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/