2012-04-23 3 views
0

ビューファイルで配列に問題があります。私がしようとしているのは、各タイトルのタイトルと候補のリストを表示することです。現在、各タイトルのチャンピオンとしてVacantを表示しています。正しい値をエコーし​​ない

テーブル内のchampionIDの値が0の場合は、それがない場合はVacantを表示する必要があります。チャンピオン名を取得して表示する必要があります。そのそれは自分の名前を表示すべきでない場合、データベースは、それはTBDが表示されるはずです。ここ

は、クエリです:。

/** 
* Get title champions 
* 
* @return object/NULL 
*/ 
function getTitlesChampions() 
{  
    $this->db->select('titlesList.titleName'); 
    $this->db->select('rosterList.rosterName AS champion'); 
    $this->db->select('con1.rosterName AS contender1'); 
    $this->db->select('con2.rosterName AS contender2'); 
    $this->db->select('con3.rosterName AS contender3'); 
    $this->db->from('titlesChampions'); 
    $this->db->join('titlesList', 'titlesList.id = titlesChampions.titlesListID'); 
    $this->db->join('rosterList', 'rosterList.id = titlesChampions.championID', 'left'); 
    $this->db->join('rosterList AS con1', 'con1.id = titlesChampions.contender1ID', 'left'); 
    $this->db->join('rosterList AS con2', 'con2.id = titlesChampions.contender2ID', 'left'); 
    $this->db->join('rosterList AS con3', 'con3.id = titlesChampions.contender3ID', 'left'); 
    $query = $this->db->get(); 
    if ($query->num_rows() > 0) 
    { 
     return $query->result(); 
    } 
    return null; 
} 

値titlesChampionsテーブルの内側にこのです:

id - 1 titlesListID - 1 championID - 1 contender1ID - 1 contender2ID - 1 contender3ID - 1 
id - 2 titlesListID - 2 championID - 1 contender1ID - 0 contender2ID - 0 contender3ID - 0 
id - 3 titlesListID - 3 championID - 1 contender1ID - 0 contender2ID - 0 contender3ID - 0 

私はビューファイルに配列のますprint_rを実行し、これはプリントアウトするものである:

Array 
(
[0] => stdClass Object 
    (
     [titleName] => Undisputed Heavyweight Title 
     [champion] => Kid Wonder 
     [contender1] => Kid Wonder 
     [contender2] => Kid Wonder 
     [contender3] => Kid Wonder 
    ) 

[1] => stdClass Object 
    (
     [titleName] => Outlaw Title 
     [champion] => Kid Wonder 
     [contender1] => 
     [contender2] => 
     [contender3] => 
    ) 

[2] => stdClass Object 
    (
     [titleName] => Tag Team Titles 
     [champion] => Kid Wonder 
     [contender1] => 
     [contender2] => 
     [contender3] => 
    ) 

) 


    <?php if (!is_null($titlesChampionsList)) { foreach ($titlesChampionsList AS $champion) { 
        echo '<tr>'; 
        echo '<td>'.$champion->id.'</td>'; 
        echo '<td>'.$champion->titleName.'</td>'; 
        echo '<td>'; 
        if ($champion->champion == 0) 
        { 
         echo 'Vacant'; 
        } 
        else { 
         $champion->champion; 
        } 
        echo '</td>'; 
        echo '<td>'; 
        if ($champion->contender1 == 0) 
        { 
         echo 'TBD'; 
        } 
        else { 
         $champion->contender1; 
        } 
        echo '</td>'; 
        echo '<td>'; 
        if ($champion->contender2 == 0) 
        { 
         echo 'TBD'; 
        } 
        else { 
         $champion->contender2; 
        } 
        echo '</td>'; 
        echo '<td>'; 
        if ($champion->contender3 == 0) 
        { 
         echo 'TBD'; 
        } 
        else { 
         $champion->contender3; 
        } 
        echo '</td>'; 
        echo '<td style="text-align: center">'; 
        $data = array('name' => 'user', 'value' => $champion->id); 
        echo '<a href="bios/edituser"><img src='.base_url().'assets/img/icons/packs/fugue/24x24/plus-circle.png /></a>'; 
        echo '<img src='.base_url().'assets/img/icons/packs/fugue/24x24/cross-circle.png id="delete"/>'; 
        echo '</td>'; 
        echo '</tr> 
        '; } } ?> 

任意のアイデア?その配列を想定し

+0

何丁度あなたがプリントアウトしたいですか? – Baba

+0

投稿内容を印刷して更新しました。 –

答えて

1

は、関数から返されるもの実際には:

foreach ($array as $key => $titleObject) { 
    $champion = ($titleObject->champion ? $titleObject->champion : 'Vacant'); 
    echo $titleObject->titleName.' champion is '.$champion.'<br />'; 
    $contender1 = ($titleObject->contender1 ? $titleObject->contender1 : 'tbd'); 
    $contender2 = ($titleObject->contender2 ? $titleObject->contender2 : 'tbd'); 
    $contender3 = ($titleObject->contender3 ? $titleObject->contender3 : 'tbd'); 
    echo $titleObject->titleName.' contenders are '.$contender1.', '.$contender2.' and '.$contender3.'<br />'; 
} 
+0

私はこれについては分かりません。 –

+0

まあ、あなたは完全にあなたの質問を変更.... – Ing

+0

私はそれを明確に説明していない申し訳ありません。 –

関連する問題