2016-09-01 6 views
0

コードイグナイタで作業していて、ユーザー入力をデータベースの既存の値と比較するとスタックになってしまいました。私はどこからユーザー入力を得るかというフォームを持っています。次のような形式は次のとおりです。私は値を取得$ avg_mark IAMをエコーするときコードイグナイタでユーザー入力を取得しても、foreachループ内で値が取得されない

 <form method="post" action="my_controller/my_method"> 
     <label>Mark :</label> 
     <input type="text" name="avg_mark"><br> 
     <label> Message </label> 
     <input type="text" name = "message"><br> 
     <input type="submit" class="btn btn-info" value="send message"> 
     </form> 

my_controllerで/

function my_method{ 
$avg_mark =$this->input->post('avg_mark'); 
$message = $this->input->post('message'); 
echo $avg_mark; 
} 

をmy_method。しかし、問題は、foreachループ内でその値を取るときに発生します。

foreach($students as $row){ 
    echo $avg_mark; 
} 

ページは空白で、何も表示されません。これは、iamがループ内で入力値を取得しないことを意味します。そして、私もループ内でこれを試しました。それでも結果は同じです。

foreach($students as $row){ 
    echo $this->input->post('avg_mark'); 
} 

foreachループ内で値を取得するにはどうすればよいですか。

+0

$ studentsの値は何ですか? –

+0

$ studentsはデータベースの配列です$ students = $ this-> my_model-> get_students($ class_id); – Ajzz

+1

$ students変数にデータがない場合はforeachが実行されないので、結果は表示されません –

答えて

1

まず、変数が空かどうかを確認します。次に、foreachループに渡します。 -

if (!empty($students)) { 
    foreach($students as $row){ 
     echo $avg_mark; 
    } 
} 
+0

今はその仕事。すべてのコメントと答えをありがとう:) – Ajzz

関連する問題