我正在创建一个人们可以注册会话的信息亭。每个会话时间段显示在一个按钮中,剩余的座位数。当容量达到0时,文本显示在按钮上的时间段下方,表示“没有剩余座位”。
如何根据PHP数组中的值禁用按钮,以便人们无法点击它?
<button type="submit" name="DS1" value="1">
<h4>10:30 - 11:15</h4>
<h5><?php if ($result[0]['capacity'] > "0") {
echo $result[0]['capacity'];
echo " Seats Remaining";
} else {
echo "This Session is Full!";
} ?></h5>
</button>
答案 0 :(得分:2)
<button type="submit" name="DS1" value="1" <?php if($result[0]['capacity'] > "0"){echo 'disabled'; } ?>><h4>10:30 - 11:15</h4> <h5><?php if($result[0]['capacity'] > "0"){echo $result[0]['capacity']; echo " Seats Remaining";} else {echo "This Session is Full!";}?></h5></button>
应该可以使用,这会为按钮添加属性disabled。如果存在此属性,则无法按下
在你的情况下,最好制作一个if-block,使其更易读,更容易调整:
<?php if($result[0]['capacity'] > "0") : ?>
<button type="submit" name="DS1" value="1">
<h4>10:30 - 11:15</h4>
<h5><?php echo($result[0]['capacity']); ?> Seats remaining</h5>
</button>
<?php else : ?>
<button type="submit" name="DS1" value="1" disabled>
<h4>10:30 - 11:15</h4>
<h5>This Session is Full</h5>
</button>
<?php endif; ?>
答案 1 :(得分:1)
第一个if
检查值是否为0.如果是,它会将disabled
属性附加到按钮。否则,它将显示未禁用的button
。
无论如何,这是更干净的解决方案。
if ($result[0]['capacity'] == "0") {
<button type="submit" name="DS1" value="1" disabled>Your Button Display Value</button>
} else {
<button type="submit" name="DS1" value="1">Your Button Display Value</button>
}
答案 2 :(得分:1)
我会将按钮本身包裹在可用的座位内,以免让用户完全混淆按钮。所以:
<?php
if($result[0]['capacity'] > "0")
{
$seatsRemaining = $result[0]['capacity'];
$buttonDisp = "<button type='submit' name='DS1' value='1'><h4>10:30 - 11:15</h4> <h5>$seatsRemaining Seats Remaining</h5></button>";
}
else
{
$buttonDisp = "This Session is Full!";
}
echo $buttonDisp;
?>
现在,用户无法看到要按的按钮,而是看到您的消息。