1

count_all_results()関数を使用して、ユーザーが話した言語の数を返しています。しかし、数値をビューに渡そうとすると、phpの未定義変数($ lang_cnt用)を取得し続けます。以下は私のコードです:

モデル

function countLanguages($id) {

    $this->db->where('user_id', $id)->from('languages');
    return $this->db->count_all_results();
}

コントローラ

function showLangCount() {

    $data['lang_cnt'] = $this->language_model->countLanguages($id);

    $this->load->view('lang_view', $data);
}

意見

<p>This user speaks <?php echo $lang_cnt; ?> languages.</p>
4

3 に答える 3

2

1 つの問題は、モデル関数が 2 つの引数を取ることです。

function countLanguages($id, $cnt_languages)

しかし、それを呼び出すと、1 つの引数のみが渡されます。

$this->language_model->countLanguages($cnt_languages);

さらに大きな問題は、Rocket が指摘しているように、countLanguages何も返さないことです。これを試して:

function countLanguages($id) {
  $this->db->where('user_id', $id)->from('languages');
  return $this->db->count_all_results();
}
于 2012-07-31T16:52:19.597 に答える
0

使用する方が良いです:

return $query->num_rows();

影響を受けた行数を返すには...

于 2012-08-21T11:48:01.750 に答える
0

モデル関数が値を返すかどうかを常に確認してください。これを試して:

function showLangCount() {
    if($this->language_model->countLanguages($id))
    {
        $data['lang_cnt'] = $this->language_model->countLanguages($id);
    }
    else
    {
        $data['lang_cnt'] = NULL;
    }

    $this->load->view('lang_view', $data);
}
于 2012-07-31T23:58:50.220 に答える