我如何修复此循环以使用引导程序轮播显示我的数据库中的图像 [英] How do i fix this loop to display images from my database using bootstrap carousel

查看:26
本文介绍了我如何修复此循环以使用引导程序轮播显示我的数据库中的图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用 bootstrap carousel 来显示我的数据库中的图像,但我的循环似乎有问题......

message("<div class='btn sm-warning'>请选择一张图片.</div>");redirect_to('list_properties.php');}$id = $_GET['id'];$sql = "SELECT * FROM Pictures2 WHERE photo_id='$id';";$photos = 图片::find_by_sql($sql);?>

从数据库中获取的所有内容都是正确的,但在幻灯片中显示图像的循环显示一个图像,而幻灯片仅在第一张和第二张幻灯片之间循环.

<div class="row"><div id="carouselExampleIndicators" class="carousel slide mx-auto" data-ride="carousel"><ol class="carousel-indicators"><?php$i=0;如果(计数($照片)){foreach ($photos as $photo) {如果($i==0){echo '<li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>';$i++;}别的{echo '<li data-target="#carouselExampleIndicators" data-slide-to="0"></li>';$i++;}}}?></ol><div class="carousel-inner"><?php$a=0;如果(计数($照片)){foreach ($photos as $photo) {如果($a==0){?><div class="carousel-item active"><img src="<?php echo $photo->image_path(); ?>"class="img-thumbnail img-responsive" alt="<?php echo $photo->title; ?>"/><?php$a++;}别的?>

<?php{?><div class="carousel-item"><img src="<?php echo $photo->image_path(); ?>"class="img-thumbnail img-responsive" alt="<?php echo $photo->title; ?>"/><?php$a++;}?>

<?php}}?>

<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev"><span class="carousel-control-prev-icon" aria-hidden="true"></span><span class="sr-only">以前的</span></a><a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next"><span class="carousel-control-next-icon" aria-hidden="true"></span><span class="sr-only">下一步</span></a>

解决方案

message("<div class='btn sm-warning'>请选择一张图片.</div>");redirect_to('list_properties.php');}$id = $_GET['id'];$sql = "SELECT * FROM Pictures2 WHERE photo_id='$id';";$photos = 图片::find_by_sql($sql);?>

.

<?php$i++;} 别的{如果($我!= 0){?><div class="carousel-item"><img src="<?php echo $photo->image_path(); ?>"class="img-thumbnail img-responsive" height="500" width="500" alt="<?php echo $photo->title; ?>"/>

<?php$i++;}}?>

<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev"><span class="carousel-control-prev-icon" aria-hidden="true"></span><span class="sr-only">以前的</span></a><a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next"><span class="carousel-control-next-icon" aria-hidden="true"></span><span class="sr-only">下一步</span></a>

I tried using bootstrap carousel to display images from my database but something seem to be wrong with my loop...

<?php
  $message = "";
  if(empty($_GET['id'])) {
    $session->message("<div class='btn sm-warning'>please select an image.</div>");
    redirect_to('list_properties.php');
  } 
  $id      = $_GET['id'];
  $sql     = "SELECT * FROM pictures2 WHERE photograph_id='$id';";
  $photos = Picture::find_by_sql($sql);
?>

The fetch is all correct from the database but the loop displaying the images in the slide displays one image and the slide loops between the first and second slide only.

<div class="container">
<div class="row">
<div id="carouselExampleIndicators" class="carousel slide mx-auto" data-ride="carousel">
  <ol class="carousel-indicators">
    <?php 
     $i=0;
    if(count($photos)){
        foreach ($photos as $photo) {
            if($i==0){
                echo '<li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>';
                $i++;
            }
            else
            {
                echo '<li data-target="#carouselExampleIndicators" data-slide-to="0"></li>';
                $i++;
            }
        }
    }
   ?>
  </ol>
  <div class="carousel-inner">
   <?php
    $a=0;
    if(count($photos)){
        foreach ($photos as $photo) {
            if($a==0){
                ?>
            <div class="carousel-item active">
           <img src="<?php echo $photo->image_path(); ?>" class="img-thumbnail img-responsive"  alt="<?php echo $photo->title; ?>"/>
            <?php   
                $a++;
            }else
            ?>
    </div>
           <?php
            {
                ?>
            <div class="carousel-item">
           <img src="<?php echo $photo->image_path(); ?>" class="img-thumbnail img-responsive" alt="<?php echo $photo->title; ?>"/>
               <?php
                $a++;
            }
            ?>
    </div>
       <?php
        }
    }
   ?>
  </div>
  <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>
</div>
</div>

解决方案

<?php
  $message = "";
  if(empty($_GET['id'])) {
    $session->message("<div class='btn sm-warning'>please select an image.</div>");
    redirect_to('list_properties.php');
  } 
  $id      = $_GET['id'];
  $sql     = "SELECT * FROM pictures2 WHERE photograph_id='$id';";
  $photos = Picture::find_by_sql($sql);
?>

.

<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
 <?php
$i = 0; 
 foreach($photos as $photo){
        if($i == 0){
?>
<li data-target="#carouselExampleIndicators" data-slide-to="<?php echo $i; ?>" class="active"></li>
<?php
 $i++;  }else{
    if($i != 0){        
?>
<li data-target="#carouselExampleIndicators" data-slide-to="<?php echo $i; ?>" ></li>
<?php               
        } $i++;
    }
 }
?> 
  </ol>
  <div class="carousel-inner">
   <?php 
    $i = 0;  
    foreach($photos as $photo){
        if($i == 0){
    ?>
    <div class="carousel-item active">
    <img src="<?php echo $photo->image_path(); ?>" class="img-thumbnail img-responsive" height="500" width="500" alt="<?php echo $photo->title; ?>"/>
    </div>
    <?php               
    $i++;   } else{
        if($i != 0){    
    ?>
    <div class="carousel-item">
    <img src="<?php echo $photo->image_path(); ?>" class="img-thumbnail img-responsive" height="500" width="500" alt="<?php echo $photo->title; ?>"/>
    </div>
        <?php                           
        } $i++;
    }  
      }
    ?>
  </div>
  <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>

这篇关于我如何修复此循环以使用引导程序轮播显示我的数据库中的图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
PHP最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆