0

私はphpが初めてで、チェックボックスをテーブルに配置し、それらのチェックボックスによって送信されたデータをデータベースに追加するコードを実装しようとしています。以下は、PHPのループ内にチェックボックスを作成する私のコードです:-

$i=0;
$i++;
$transcript = $DB->get_field('course_completions', 'Transcript', array ('course'=>$course->id, 'userid'=>$this->user->id), $strictness=IGNORE_MISSING);
if($transcript==0){
    $checked="";
}
else{
    $checked='checked';
}
$check = '<input type="checkbox" name="tanscript'.$i.'" value=0 '.$checked.' />';
$data = array($check, $year, $sem, $courselink, $coursefullname, $type, $max_credits, $grade, $points);

$data 配列は、テーブルにデータを表示するために使用されます。$transcript は、データベースから値を取得し、デフォルトでチェックボックスをオンにするかどうかを決定するために使用されます。

送信ボタンを使用せずに、データベースのチェックボックスにチェックを入れたデータを入力する方法を誰か教えてもらえますか? また、誰かが再びボックスのチェックを外した場合、データベースに新しい値を入力するにはどうすればよいですか?

4

2 に答える 2

1

$checked の場合、デフォルト (?)のは 'on' に設定され、それ以外の場合は 'off' に設定されます。

于 2012-08-23T04:05:41.130 に答える
0

チェックボックスに与えることで、チェックされたチェックボックスを作成できchecked="checked"ます。これは、次のような変数を介して実装できます。

if($something == $data){
  $check = 'checked="checked"';
}else{
  $check = '';
}

これをチェックボックスに次のように実装できます。

echo '<input type="checkbox"'.$check.'value="somevalue">'

また、<form>いずれかGETまたはPOSTメソッドを使用して値をDBに渡すこともできます。たとえば、フォームでこれを試すことができます。

'

processor.php$checkbox_value = $_POST["chkbox"]; のようなデータを取得できます。

if - elseforを使用し$checkbox_valueて、値があるかどうかを確認できます。

于 2012-08-23T04:48:24.380 に答える