Php 基于if行-列禁用按钮
我有一些可用的PHP代码,最近我添加了一个按钮,允许用户从根目录下载图像,我们在数据库中输入文件名,例如example.png/example.jpeg,当用户单击download时,它会在一个新选项卡中打开图像 我们需要的是:如果[proof]为空,下载按钮将被禁用,否则它将被启用,他们可以单击该按钮Php 基于if行-列禁用按钮,php,Php,我有一些可用的PHP代码,最近我添加了一个按钮,允许用户从根目录下载图像,我们在数据库中输入文件名,例如example.png/example.jpeg,当用户单击download时,它会在一个新选项卡中打开图像 我们需要的是:如果[proof]为空,下载按钮将被禁用,否则它将被启用,他们可以单击该按钮 <?php // output data of each row while($row=mysqli_fetch_assoc($designresult)) { ?> <
<?php
// output data of each row
while($row=mysqli_fetch_assoc($designresult)) {
?>
<div class="card mb-4 box-shadow"><div class="card-header">
<h4 class="my-0 font-weight-normal">Job Reference: <?php echo $row["jobRef"]; ?></h4>
</div>
<div class="card-body">
<p><b>Company Name:</b><br> <?php echo $row["companyName"]; ?> </p>
<p><b>Requested:</b><br> <?php echo $row["dateReq"]; ?> </p>
<p><b>Request By:</b><br> <?php echo $row["yourName"]; ?> </p>
<p><b>Graphic Type:</b><br> <?php echo $row["graphicType"]; ?> </p>
<p><b>Double Sided:</b><br> <?php echo $row["doubleS"]; ?> </p>
<p><b>Design Info:</b><br> <?php echo $row["info"]; ?> </p>
<p><b>Purpose:</b><br> <?php echo $row["purpose"]; ?> </p>
<p><b>Proof:</b><br> <?php echo $row["approved"]; ?> </p>
<p><b>Proof Date:</b><br> <?php echo $row["appDate"]; ?> </p>
<a class="btn btn-success" target="_blank" href="<?php echo IMAGE_DIR . $row['proof']; ?>">Download</a>
</div>
</div>
<?php
}
?>
工作参考:
公司名称:
请求:
请求人:
图形类型:
双面:
设计信息:
目的:
证明:
证明日期:
试试上面的代码。并使用此条件添加禁用类据我所知,链接标记没有“disabled”属性。但是您可以通过删除href属性来“禁用”链接
<?php
$state = (empty($row['proof'])) ? "disabled='disabled'" : "";
$class = (empty($row['proof'])) ? "disabled" : "";
?>
<a class="btn btn-success <?php echo $class; ?>" target="_blank" href="<?php echo IMAGE_DIR . $row['proof']; ?>" <?php echo $state; ?>>Download</a>
类似于这样:它检查$row['proof']是否有一些值(通过对空值求反),然后如果结果为true,则打印href
<a class="btn btn-success" target="_blank" <?php if(!empty($row['proof'])): ?> href="<?php echo IMAGE_DIR . $row['proof']; ?>" <?php endif; ?> >Download</a>
或者更好:检查变量是否为空,并提示用户该变量不可用。我认为这是更好的解决方案,因为这样你的用户就会知道发生了什么
<?php if(empty($row['proof'])): ?>
<span>No proof available</span>
<?php else: ?>
<a class="btn btn-success" target="_blank" href="<?php echo IMAGE_DIR . $row['proof']; ?>">
Download
</a>
<?php endif; ?>
没有证据
您可以使用相同的if-else语句插入其他类。这只是一个造型的东西。这就是我推荐第二种解决方案的原因,因为代码更容易阅读,而且如果需要,也不必使用相同的代码两次。只需在a标记中添加一个css类,在没有证据的情况下,将按钮样式设置为灰色即可
<?php if(empty($row['proof'])): ?>
<span>No proof available</span>
<?php else: ?>
<a class="btn btn-success" target="_blank" href="<?php echo IMAGE_DIR . $row['proof']; ?>">
Download
</a>
<?php endif; ?>