2016-09-08 3 views
2

Ich versuche alles, was ich weiß und Vorschlag im Internet. aber alle Zeiten geben false zurück. bitte helfen Sie mir ... Dankcodeigniter ungültiges Argument für foreach() auf Join-Klausel

meine Fehlermeldung lautet:

Schweregrad: Warnung

Nachricht: Invalid argument für foreach geliefert()

Dateiname: views/index.php

Zeilennummer: 10

model.php

public function getBanner() 
{ 
    $this->db->select('album.id, album.cat_id , album.poster, album.slug, album.modify, category.id, category.name, category.slug'); 
    $this->db->from('album,category'); 
    $this->db->where('album.cat_id', 'category.id'); 
    $query = $this->db->get(); 

    if($query->num_rows() != 0) 
    { 
     $result = $query->result_array(); 

     return $result; 
    } 
    else 
    { 
     return false; 
    } 
} 

controllers.php

$data['banner'] = $this->Fornt_model->getBanner(); 

showbanner.php

<section class="banner"> 
<div class="container"> 
    <div class="row"> 
     <div class="col-sm-12"> 
      <div id="myCarousel" class="carousel slide" data-ride="carousel"> 

       <!-- Wrapper for slides --> 
       <div class="carousel-inner" role="listbox"> 
        <?php $item = 1; foreach($banner as $latest_poster): $item_class = ($item == 1) ? 'item active' : 'item'; ?> 
         <div class="<?php echo $item_class; ?>"> 
          <img src="<?php echo base_url('images/poster/'.$latest_poster['poster']); ?>" class="img-responsive img-thumbnail"> 
          <div class="carousel-caption caption"> 
           <a href="<?php echo site_url('category/bollywood/'.$latest_poster['slug']); ?>" class="box"> 
            <b class="h3"><?php echo $latest_poster['name']; ?></b> 
            <small class="p">Exclusive AT*<?php echo substr($latest_poster['modify'], 0, 10); ?></small> 
           </a> 
          </div> 
         </div> 
        <?php $item++; endforeach; ?> 
       </div> 
      </div> 
     </div> 
    </div> 
    <div class="clearfix" style="padding: 10px 0;"></div> 
    <div class="row hidden-xs"> 
    <?php $itemto = 0; foreach($banner as $latest_poster): $item_class_active = ($itemto == 0) ? 'active' : ''; ?> 
     <div class="col-sm-2 pointer" data-target="#myCarousel" data-slide-to="<?php echo $itemto; ?>"><img src="<?php echo base_url('images/poster/'.$latest_poster['poster']); ?>" class="img-responsive img-thumbnail" /></div> 
    <?php $itemto++; endforeach; ?> 
    </div> 
</div> 

+0

Fehler möglicherweise in Ihrer $ Banner-Variable. Immer wenn Ihre Funktion false zurückgibt, wird die Fehlermeldung – SanketR

+0

i Prüfdaten ['Banner'] Variable angezeigt. Es zeigt Array, aber wenn Aufruf auf Seite anzeigen als falsch zurückgeben –

+0

Wie bereits erwähnt, scheint Ihr Fehler in index.php und Sie führen die foreach-Schleife innerhalb showbanner.php. Verschachtelst du deine Ansichten? – SanketR

Antwort

0

Ich denke, etwas falsch mit Ihrer Anfrage .. versuchen

if($query->num_rows() != 0) 
     { 
      $result = $query->result_array(); 
      print_r($result); 
     } 

Stellen Sie sicher, dass Ihre Array-Daten verfügbar sind.

0

Wenn keine Zeilen vorhanden sind, gibt front_model-> getBanner() das Ergebnis als false zurück. Aus diesem Grund erhalten Sie einen Fehler. Verwenden Sie den folgenden Code

public function getBanner() 
{ 
    $this->db->select('album.id, album.cat_id , album.poster, album.slug, album.modify, category.id, category.name, category.slug'); 
    $this->db->from('album,category'); 
    $this->db->where('album.cat_id', 'category.id'); 
    $query = $this->db->get(); 
    return $query->result_array(); 

} 
Verwandte Themen