2016-09-27 14 views
1

実際にデータを正常に取得しましたが、チェックボックスにチェックされた値が表示されていません。論理が間違っているかもしれません。そして、我々が値フィールドにエコー直接することはできません、私はそれに新しいです、多分間違いは、この$dcodeigniterの更新ページにチェックボックスの値を持たせる方法

<html> 
<?php 
foreach($post_id as $data){ 

    $a=$data->id; 
    $b=$data->name; 
    $c=$data->email; 
    $d=json_decode($data->skills); 
    $e=$data->notes; 
    $f=$data->gender; 
} 
?> 
<?php var_dump($d);?> 
<?php var_dump($f);?> 
<body> 
<form method="post" action="<?php echo site_url('Student_info/update'); ?>"> 
<table> 
<tr> 
<td>ENTER NAME</td> 
<td><input type="text" name="name" value="<?php echo $b; ?>"></td> 
</tr> 
<tr> 
<td>ENTER EMAIL </td> 
<td><input type="email" name="email" value="<?php echo $c; ?>"></td> 
</tr> 
<tr> 
<td>ENTER SKILLS</td> 
<td> 
<input type="checkbox" name="skills[]" value="php" <?php if($d == "php"){echo 'checked="checked"'; } ?>>php<br> 
<input type="checkbox" name="skills[]" value="dotnet" <?php if($d == "dotnet"){echo 'checked="checked"'; } ?> >dotnet<br> 
<input type="checkbox" name="skills[]" value="java" <?php if($d == "java"){echo 'checked="checked"'; } ?>>java<br> 
<input type="checkbox" name="skills[]" value="ruby_on_rails" <?php if($d == "ruby_on_rails"){echo 'checked="checked"'; } ?> >ruby_on_rails<br> 
</td> 
</tr> 
<tr> 
<td>NOTES</td> 
<td> <textarea name="notes" rows="4" cols="50"><?php echo $e; ?></textarea> </td> 
</tr> 
<tr> 
<td>GENDER</td> 
<td> <input type="radio" name="gender" value="male" <?php if($f == "male"){echo 'selected="selected"'; } ?>> Male<br> 
    <input type="radio" name="gender" value="female" <?php if($f == "Female"){echo 'selected="selected"'; } ?>> Female<br> </td> 
</tr> 
<tr> 
<td></td> 
<td><input type="submit" name="add" value="submit"/></td>  
</tr> 
</table> 
</form> 
</body> 
</html> 
+0

'ますprint_r($ _ POST)'、最初の配列を確認する前に、あなたのビューファイルでPHPのタグが開始されたところを知らないのようなもの'foreach($ post_id $ data){'、この関数も表示します: 'Student_info/update'、最後は' 'でしょうか?タグを閉じる? – devpro

+0

'Student_info/update'で' print_r($ _ POST) 'を使って結果を共有してください。 – devpro

+0

@devpro私はページを編集するときにチェックされた値を見ることができません。それは問題です。$ dはその中に値をチェックしています。これをチェックするのにvar_dump($ d)も使用しました。 – mickey

答えて

1

結果はオブジェクトではありません

ビュー愚かされ、ここでのforeachを使用する必要があります文字列値は、あなたがここにjson_decode()を使用しているので:

$d=json_decode($data->skills); // this will produce an object 

あなたはin_array()を使用することができますが、このために、あなたがjson_decode()関数でTRUEように、第2のparamを使用する必要があり、これは、配列に結果を返しますあなたがそのように確認することができるよりも

$d=json_decode($data->skills,TRUE); // this will return an array 

<input type="checkbox" name="skills[]" value="php" <?=(in_array("php",$d) ? 'checked=""' : '')?>>php 
+0

ありがとう@devproそれは働いた。 – mickey

+0

@mickey:うれしいことに嬉しい:) – devpro

関連する問題