Php 如何使用PDO连接将多个复选框存储到数据库中
我有一个我无法解决的问题,我已经尝试了所有的方法,但是没有任何效果。问题是我想将多个复选框值存储到数据库中,存储到一列中,一条记录在其中。以下是我正在使用的表单代码:Php 如何使用PDO连接将多个复选框存储到数据库中,php,Php,我有一个我无法解决的问题,我已经尝试了所有的方法,但是没有任何效果。问题是我想将多个复选框值存储到数据库中,存储到一列中,一条记录在其中。以下是我正在使用的表单代码: <label for="newsletter1">PRIMARIA:</label> <input type="checkbox" name="field021[]" value="1" /> 1 <input type="checkbox" name="field021[]" value
<label for="newsletter1">PRIMARIA:</label>
<input type="checkbox" name="field021[]" value="1" /> 1
<input type="checkbox" name="field021[]" value="2" /> 2
<input type="checkbox" name="field021[]" value="3" /> 3
现在数据库中的单元格字段021中没有写入任何内容,我想做的是,能够在那里注册以逗号分隔的多个复选框。如果有人能帮忙,我们将不胜感激。谢谢你的意思是这样吗
$this->field021_commaseparated = implode(', ', $this->field021);
$data
==$\u POST
李>
stripslashes()/strip\u tags()
数组李>
通常,当我使用不带数组1的代码时,它会将最后一个或最高值选择框放入数据库中。一旦我使用name=“field021”[]它就不会放任何东西。因为你做错了。。。当前您有一个数组,但不要这样对待它。这是$_postpublic function storeFormValues($params){//存储参数$This->u construct($params)}+1、@JohnSiniger,另外我会为每个数组元素/复选框设置一个指定的键;不要使用
name=“field021[]”
作为复选框的名称
$this->field021_commaseparated = implode(', ', $this->field021);
public function __construct( $data = array() ) {
if(isset($data['field021'])) {
// wrong: $data['field021'] is an array, so don't stripslashes() / strip_tags()
//$this->field021 = stripslashes( strip_tags( $data['field021'] ) );
$this->field021 = array();
foreach ($data['field021'] AS $key => $value) {
$this->field021[$key] = stripslashes(strip_tags($value));
}
// STRING ARRAY
// | | | |
// V V V V
$this->field021 = implode(', ', $this->field021);
} // end if
...