Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在mysql数据库中使用pdo保存复选框值_Php_Mysql_Checkbox_Pdo - Fatal编程技术网

Php 在mysql数据库中使用pdo保存复选框值

Php 在mysql数据库中使用pdo保存复选框值,php,mysql,checkbox,pdo,Php,Mysql,Checkbox,Pdo,我无法将复选框中的值保存到我的数据库中…始终保存“数组”,而不是值 在fiddler中,我看到表单捕获了值,但当数据转到save.php文件时,值会更改为array。。。你能帮我一下吗 表格如下: <form name="esq" id="esq" method="post"> <div class="row-fluid grid"> <div class="span4"> <label><b><?

我无法将复选框中的值保存到我的数据库中…始终保存“数组”,而不是值

在fiddler中,我看到表单捕获了值,但当数据转到save.php文件时,值会更改为array。。。你能帮我一下吗

表格如下:

    <form name="esq" id="esq" method="post">
    <div class="row-fluid grid">
    <div class="span4">
    <label><b><?php echo $translate->__('Gestas Previas'); ?>: </b></label><input type="text" class="span3" value="" name="gestas" /></div>
    <div class="span4">
    <label><b><?php echo $translate->__('Abortos'); ?>: </b></label><input type="text" class="span3" value="" name="abortos" /></div>
    <div class="span4">
    <label><b><?php echo $translate->__('3 espontaneos consecutivos'); ?>: </b></label><input type="text" class="span3" value="" name="esp_conse" /></div>
    </div>

----------HERE START THE CHECKBOX-------------
    <div class="row-fluid grid">
    <label class="control-label"><b><?php echo $translate->__('Ultimo Previo'); ?></b></label>
    <div class="controls">
    <label class="checkbox inline">
    <div id="uniform-inlineCheckbox1" class="checker"><span><input style="opacity: 0;" id="inlineCheckbox1" value="2500g" name="seleccion[]" type="checkbox"></span></div> <?php echo $translate->__('2500 g'); ?>
    </label>
    <label class="checkbox inline">
    <div id="uniform-inlineCheckbox2" class="checker"><span><input style="opacity: 0;" id="inlineCheckbox2" value="4500g" name="seleccion[]" type="checkbox"></span></div> <?php echo $translate->__('4500 g'); ?>
    </label>
    <label class="checkbox inline">
    <div id="uniform-inlineCheckbox3" class="checker"><span><input style="opacity: 0;" id="inlineCheckbox3" value="pre_eclam" name="seleccion[]" type="checkbox"></span></div> <?php echo $translate->__('Preclampsia-eclampsia'); ?>
    </label>
    <label class="checkbox inline">
    <div id="uniform-inlineCheckbox4" class="checker"><span><input style="opacity: 0;" id="inlineCheckbox4" value="cesarea" name="seleccion[]" type="checkbox"></span></div> <?php echo $translate->__('Cesárea'); ?>
    </label>
    </div>
    </div><br />
----------HERE FINISH THE CHECKBOX-------------
..............

: 
: 
: 
----------这里开始复选框-------------

----------在这里完成复选框------------- ..............
代码如下:

<?php 
include_once("confs.php");
if (!empty($_POST)) {
        try{
    $statement = $conn->prepare("INSERT INTO GESTACION (gestas, abortos, esp_conse, seleccion, partos, vaginal, cesareas, nac_vivos, nac_muertos, viven, semana, des_semana, f_ult_parto, f_ult_pap, fur, fpp, edad_gesta, pesofeto, tallafeto, imc, toxoide, influenza, otras, medicament) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
    if ($statement->execute(array($_POST['gestas'], $_POST['abortos'], $_POST['esp_conse'], $_POST['seleccion'], $_POST['partos'], $_POST['vaginal'], $_POST['cesareas'], $_POST['nac_vivos'], $_POST['nac_muertos'], $_POST['viven'], $_POST['semana'], $_POST['des_semana'], $_POST['f_ult_parto'], $_POST['f_ult_pap'], $_POST['fur'], $_POST['fpp'], $_POST['edad_gesta'], $_POST['pesofeto'], $_POST['tallafeto'], $_POST['imc'], $_POST['toxoide'], $_POST['influenza'], $_POST['otras'], $_POST['medicament'])));
        $dbSuccess = true;     
} catch (Exception $e) {
    $return['databaseException'] = $e->getMessage();
}
   $dbh = null;  
}
?>


所有其他数据都保存到数据库中。

如果您的评论中有额外的信息,我想说您只是想要这个

$seleccion = is_array($_POST['seleccion'])
    ? implode(', ', $_POST['seleccion'])
    : $_POST['seleccion'];

// snip

$statement->execute(array(
    $_POST['gestas'],
    $_POST['abortos'],
    $_POST['esp_conse'],
    $seleccion, ...

这会将所有复选框选择保存为逗号分隔的列表,其中包含
GESTACION
表行

您正在为
selection
复选框使用数组格式,即
name=“seleccion[]”
。这意味着
$\u POST['seleccion']
将是一个数组。您需要决定如何处理此字段中的多个选择/值。@Phil我不知道如何处理该部分…如何保存多个复选框选择?您只想在
selection
列中将它们保存为逗号分隔的列表,例如
2500g、4500g、cesarea
,还是应该通过与
GESTACION
行的多对多关系来保存它们?仅使用逗号。。。是否为每位女性患者填写表格