簡體   English   中英

檢查特定行是否存在mysql

[英]check if specific row exists mysql

我有一個mysqli查詢,可從表中獲取所有圖像(我有5個圖像顯示)。 我正在使用jquery滑塊顯示它們。 問題是如果沒有5張圖像,我會看到空白頁,例如,如果用戶僅上傳兩張圖像,則其余三個縮略圖將是空白的,當您單擊它們時,它將顯示空白區域。 我不希望發生這種情況,那么如何僅在圖像存在時顯示縮略圖而不顯示空白縮略圖?

我嘗試了以下方法,但這不起作用。 我只需要查看image_one是否存在,然后顯示縮略圖,其余圖像也一樣。

<?php
 $stmt = $mydb->prepare("SELECT * FROM table where title = ? AND id = ? limit 1 ");
$stmt->bind_param('ss', $title, $id);
$stmt->execute();
 $result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
$path = 'images/';
?>


<div id="slides">

<?php if($result->num_rows > 0){?><div class="slide"><a class="fancybox" href="<?php echo $path.$row['image_one']?>" data-fancybox-group="gallery"><img class="cloudzoom appsld" src="<?php echo $path.$row['image_one']?>"/></a></div><?php };?>
<?php if($result->num_rows > 0){?><div class="slide"><a class="fancybox" href="<?php echo $path.$row['image_two']?>" data-fancybox-group="gallery"><img class="cloudzoom appsld" src="<?php echo $path.$row['image_two']?>"/></a></div><?php };?>
<?php if($result->num_rows > 0){?> <div class="slide"><a class="fancybox" href="<?php echo $path.$row['image_three']?>" data-fancybox-group="gallery"><img class="cloudzoom appsld" src="<?php echo $path.$row['image_three']?>"/></a></div><?php };?>
<?php if($result->num_rows > 0){?><div class="slide"><a class="fancybox" href="<?php echo $path.$row['image_four']?>" data-fancybox-group="gallery"><img class="cloudzoom appsld" src="<?php echo $path.$row['image_four']?>"/></a></div><?php };?>
<?php if($result->num_rows > 0){?><div class="slide"><a class="fancybox" href="<?php echo $path.$row['image_five']?>" data-fancybox-group="gallery"><img class="cloudzoom appsld" src="<?php echo $path.$row['image_five']?>"/></a></div><?php };?>

</div>

<div id="slide_menu">

<ul id="slide"> <!-- This is the thumbnail area -->
    <li class="fbar">&nbsp;</li>
    <?php if($result->num_rows > 0){?><li class="menuItem"><a href=""><img src="<?php echo $path.$row['image_one']?>"  /></a></li><?php }; ?>
    <?php if($result->num_rows > 0){?><li class="menuItem"><a href=""><img src="<?php echo $path.$row['image_two']?>"  /></a></li><?php }; ?>
    <?php if($result->num_rows > 0){?><li class="menuItem"><a href=""><img src="<?php echo $path.$row['image_three']?>"  /></a></li><?php }; ?>
    <?php if($result->num_rows > 0){?><li class="menuItem"><a href=""><img src="<?php echo $path.$row['image_four']?>"  /></a></li><?php }; ?>
    <?php if($result->num_rows > 0){?><li class="menuItem"><a href=""><img src="<?php echo $path.$row['image_five']?>"  /></a></li><?php }; ?>
</ul>


</div>

我們看不到您的數據庫設計,因此請查看您的默認值

image_one

行計數始終為01 (由於Limit 1
重要的是image_oneimage_five字段這些字段始終存在,無論它們為空還是使用文件名填充。

根據默認值測試一下

例如以下之一

  • 如果($ row ['image_one']>''){
  • 如果($ row ['image_one']> null {

放一個if arround構建html。

<?php if($result->num_rows > 0){?>
 <?php if ($row['image_one'] > '') 
   {?>
     <li class="menuItem">
     <a href=""><img src="<?php echo $path.$row['image_one']?>" /></a>
     </li>
   <?php 
   }?>
    .... next 4 other tests
 <?php if ($row['image_two'] > '') 
    ....

<?php } // END__$result->num_rows > 0 ?>

嘗試類似

   ...
    <ul id="slide"> <!-- This is the thumbnail area -->
        <li class="fbar">&nbsp;</li>
        <?php
        foreach ( $row as $element => $val){
          if(isset($val)) {
            print "<li class='menuItem'><a href=''><img src=".$path.$val."/></a></li>";
          }
        }
        ?>
    </ul>
...

與第一個( <div id="slides"> )塊相同

我不能100%確定pdo,但距離不太遠

<?php
 $sql = "SELECT * FROM table where title = $title AND id = $id limit 1 ";
 $result = mysql_query($sql);
 while ($row = mysql_fetch_array($result)) {
?>

<div class="slide">
   <a class="fancybox" href="images/<?php echo $row['DB-IMAGE-PATH-HERE']; ?>" data-fancybox-group="gallery">
      <img class="cloudzoom appsld" src="images/<?php echo $row['DB-IMAGE-PATH-HERE']; ?>"/>
   </a>
</div>

<?php } // end while loop ?>
</div> <!-- end id="slides" -->

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM