0

チェックボックスのチェック済みステータスをデータベースに保存しようとしています。これには codeigniter を使用しています。次のように、cehckbox フォームの値を配列に追加します。 'treated' => $this->input->post('treated'.$i),

次に、上記の入力を含む配列を渡してデータベースに書き込みます。

これはデータベースに「on」として書き込まれ、 で動作しchar/varcharます。ただし、これを変更するbittinyint(1)、mssql エラーで失敗する場合Conversion failed when converting the varchar value 'on' to data type tinyint.

チェックボックスの値を1代わりに渡すにはどうすればよいonですか?

前もって感謝します。

アップデート

 $i=1;
    while($i<=$this->input->post('orderlines'))
  {
$treatedVal=$this->input->post('treated'.$i)?1:0;

      //set the data for line insert start
        $data = array(
      'treated' => $treatedVal,    
        );

        $this->sales_model->order_lines_insert($data);  
  $i++;
  }
4

3 に答える 3

4

HTML自体で変更する必要があります。

<html>
    <input type="checkbox" name="check" value="1" />  <!--give it a value attribute the default is "on"-->
</html>
于 2013-06-25T13:53:31.787 に答える
1

データ配列を作成する前にこれを行うだけです

 $treatedVal=$this->input->post('treated'.$i)?1:0;
 // then add this variable value to your array
 'treated' => $treatedVal,
于 2013-06-25T11:01:28.430 に答える
0

これは私がそれを行う方法です:

var myVal = ( $('#myCheckbox').is(':checked') ) ? 1 : 0;

alert('myVal is: ' +myVal); //alerts 1 if checked, 0 if not checked

jsFiddle Demo

于 2015-02-02T18:51:18.013 に答える