2017-09-17 4 views
0

レッスンがあるかどうかを確認するコードを書いています。表示されていない場合はtrタグを表示してください。ただし、結果が空であっても文が機能しない場合 はこのインストラクターがレッスンenter image description hereifcodeがcodeigniter3フレームワークで動作しない場合

を持っているので、ここではそれが適切に表示さしかし、別の講師が、ここでこのような理由のために、それは<tr>タグを表示してはならない、任意のレッスンを持っていないが、それはすることができ enter image description here

空TRを示し問題?ここで

は私のモデルである:

public function get_instructors_lessons($slug = FALSE) { 
     if ($slug === FALSE) { 
      $this->db->join('courses', 'instructors.id = courses.instructor_id'); 
      $query = $this->db->get('instructors'); 
      return $query->row_array(); 
     } 

     $this->db->join('courses', 'instructors.id = courses.instructor_id', 'left'); 
     $query = $this->db->get_where('instructors', array('instructors_slug' => $slug)); 
     return $query->result_array(); 
    } 

そしてここでは、私の見解である:

<?php if(count($lessons)>0): ?> 
    <?php foreach($lessons as $lesson): ?> 
    <tr> 
     <td> 
     <a class="lessonsofinstructors" href="<?= site_url('/courses/'.$lesson['courses_slug']);?>"> 
      <?= $lesson['title'] ?> 
     </a> 
     </td> 
     <td> 
     <?= $lesson['duration'] ?> Months</td> 
     <td> 
     <?= $lesson['begining'] ?> 
     </td> 
    </tr> 
    <?php endforeach; ?> 
     <?php endif; ?> 
+0

あなたの質問は何ですか? –

+0

@u_mulder編集 –

+0

これは、 'count($ lessons)'が0より大きいために起こります。あなたが持っている値を表示するには、それを印刷します。 –

答えて

0

左にかかわらず、彼はコースを持っているかどうインストラクターのデータを取りません参加。だからあなたは別の結合タイプが必要です、私はデフォルトのものが適合すると思います:

public function get_instructors_lessons($slug = FALSE) { 
    if ($slug === FALSE) { 
     $this->db->join('courses', 'instructors.id = courses.instructor_id'); 
     $query = $this->db->get('instructors'); 
     return $query->row_array(); 
    } 

    // no join type here 
    $this->db->join('courses', 'instructors.id = courses.instructor_id'); 
    $query = $this->db->get_where('instructors', array('instructors_slug' => $slug)); 
    return $query->result_array(); 
} 
関連する問題