我正在尝试使用if else语句创建一个简单的pdf列表,其中pdf在存在pdf时显示为正常,如果没有,则需要显示:没有可用的下载。
现在它始终显示该消息,无论什么(没有pdf文件,以及有pdf文件时)。
我现在尝试了一切,没有任何工作。
当没有id存在或id为空时,它需要显示消息,但只有在根本没有pdf文件时才显示。
到目前为止我尝试了什么:
<?
//pdf bestanden
$pdf = "SELECT * FROM `snm_attachments` WHERE parent_id = '".$conn->real_escape_string($contentcr[0]['id'])."'";
$pdfcon = $conn->query($pdf);
$pdfcr = array();
while ($pdfcr[] = $pdfcon->fetch_array());
foreach($pdfcr as $pdf){
if(isset($pdf['id']) && !empty($pdf['id'])){
$downloads .= '<li><a href="cms/attachments/article/'.$contentcr[0]['id'].'/'.$pdf['filename'].' "target="_blank"><i class="fa fa-file-pdf-o"></i>'.$pdf['filename'].'</a></li>';
}else{
$downloads .= '<li>No available downloads</li>';
}
echo '<pre>'.print_r($pdfcr).'</pre>';
}
echo $downloads;
?>
我也试过这个:
<?
//pdf bestanden
$pdf = "SELECT * FROM `snm_attachments` WHERE parent_id = '".$conn->real_escape_string($contentcr[0]['id'])."'";
$pdfcon = $conn->query($pdf);
$pdfcr = array();
while ($pdfcr[] = $pdfcon->fetch_array());
if(count($pdfcr) > 0) {
foreach($pdfcr as $pdf){
if($pdf['id'] != ''){
$downloads .= '<li><a href="cms/attachments/article/'.$contentcr[0]['id'].'/'.$pdf['filename'].' "target="_blank"><i class="fa fa-file-pdf-o"></i>'.$pdf['filename'].'</a></li>';
}
}
}else{
$downloads .= 'leeg';
}
echo $downloads;
?>
上面甚至没有显示消息,当没有pdf存在时它什么都不显示。当我在没有pdf的页面上回显PDF id时它没有显示任何内容,但它也没有显示没有可下载的消息。
我怎样才能做到这一点?它不是那么难,但是花了我几个小时来做这件事。
现在如何(即使有两个pdf,看看它是如何显示消息的):
正确行为:
这是print_r的输出($ pdfcr) https://kobra.io/#/e/-KIgRDOAz_Ki2PpOKTU5
答案 0 :(得分:2)
您正在添加最后一次获取功能的空值。这是正确的方法:
$downloads = '';
while ($pdf= $pdfcon->fetch_array()) {
$downloads .= '<li><a href="cms/attachments/article/'.$contentcr[0]['id'].'/'.$pdf['filename'].' "target="_blank"><i class="fa fa-file-pdf-o"></i>'.$pdf['filename'].'</a></li>';
}
if ($downloads) echo $downloads; else echo 'No data';