简体   繁体   中英

Display 1st,2nd,3rd.. top ranks to gallery/slideshow codeigniter

How to display to my gallery/carousel top restaurants? I want to get each of it like the 1st,2nd,3rd,4th,5th rank. I was able to get the top 5 but dont know how to put each of it on my slide. Is it possible?

Model:

public function getTopResto($highest=TRUE) 
{
$Order = $highest ? 'DESC' : 'ASC';
$q = $this->db
        ->select('r.*')
        ->select('AVG(ra.rate) avg_rating', FALSE)
        ->from('restaurants r')
        ->join('ratings ra', 'r.id = ra.restoid', 'left')
        ->group_by('r.id')
        ->order_by('avg_rating', $Order)
        ->limit('5')
        ->get();

return $q->result_array();
}

View:

<div class="feature">   
 <div class="container">
  <div class="carousel-container">
   <div id="carousel">
      <h2 class="topresto">Top Restaurants</h2>

    <div class="carousel-feature">
      <a href="#"><img class="carousel-image" alt="Image Caption" src="<?php echo base_url();?>assets/images/logos/american/Aresto4-logo.png"></a>
    <div class="carousel-caption">
        <p>
         1. *insert restoname
        </p>
      </div>            
    </div>

    <div class="carousel-feature">
      <a href="#"><img class="carousel-image" alt="Image Caption" src="<?php echo base_url();?>assets/images/logos/american/Aresto9-logo.png"></a>
      <div class="carousel-caption">
        <p>
         2. *insert restoname
        </p>
      </div>
    </div>
    <div class="carousel-feature">
      <a href="#"><img class="carousel-image" alt="Image Caption" src="<?php echo base_url();?>assets/images/logos/american/Aresto7-logo.png"></a>
      <div class="carousel-caption">
        <p>
         3. *insert restoname
        </p>
      </div>
    </div>
    <div class="carousel-feature">
      <a href="#"><img class="carousel-image" alt="Image Caption" src="<?php echo base_url();?>assets/images/logos/dessert/Dresto1-logo.png"></a>
      <div class="carousel-caption">
        <p>
         4. *insert restoname
        </p>
      </div>
    </div>
    <div class="carousel-feature">
      <a href="#"><img class="carousel-image" alt="Image Caption" src="<?php echo base_url();?>assets/images/logos/american/Aresto6-logo.png"></a>
      <div class="carousel-caption">
        <p>
         5. *insert restoname
        </p>
      </div>
    </div>
  </div> -->

  <div id="carousel-left"><img src="<?php echo base_url();?>assets/featurecarousel/images/arrow-left.png" /></div>
  <div id="carousel-right"><img src="<?php echo base_url();?>assets/featurecarousel/images/arrow-right.png" /></div>
</div>

</div>
</div>

I think you should store the paths of your slider images at restaurants table. As you are already ordering the table results, all you would do is to fetch like this:

<?php foreach($rates as $rate) : ?>
<div class="carousel-feature">
<a href="#"><img class="carousel-image" alt="Image Caption" src="<?php echo base_url($rate->path_to_image);?>"></a>
<div class="carousel-caption">
<p>
1. $rate->restaurant_name
</p>
</div>            
</div>
<?php endforeach; ?>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM