Php 基于if行-列禁用按钮

Php 基于if行-列禁用按钮,php,Php,我有一些可用的PHP代码,最近我添加了一个按钮,允许用户从根目录下载图像,我们在数据库中输入文件名,例如example.png/example.jpeg,当用户单击download时,它会在一个新选项卡中打开图像 我们需要的是:如果[proof]为空,下载按钮将被禁用,否则它将被启用,他们可以单击该按钮 <?php // output data of each row while($row=mysqli_fetch_assoc($designresult)) { ?> <

我有一些可用的PHP代码,最近我添加了一个按钮,允许用户从根目录下载图像,我们在数据库中输入文件名,例如example.png/example.jpeg,当用户单击download时,它会在一个新选项卡中打开图像

我们需要的是:如果[proof]为空,下载按钮将被禁用,否则它将被启用,他们可以单击该按钮

 <?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; ?>