我想插入" 0"或" 1"使用php复选框进入mysql数据库但是值无法存储到数据库中! 我试图插入一个像这样的复选框数组:
1:已选中
0:未选中
[answer] => Array
(
[0] => answer 1
[1] => answer 2
[2] => answer 3
)
[check] => Array
(
[0] => 1
[1] => 0
[2] => 1
)
php文件:
<td> <!-- <input type="hidden" name="check[]" value="0" >-->
<input type="checkbox" id="check" name="check[]" value="1">
</td>
在过程文件中通过AJAX我存储了答案数据库,但我无法存储每个选择的答案的检查值
$query = mysql_query("INSERT INTO questions
(nom_question,id_categorie)
VALUES('$question','$categorie')", $conn)
or die(mysql_error());
//last insert id question
$last_id = mysql_insert_id();
$check = $_POST['check'];
foreach ($reponse as $key=>$value ) {
$values = mysql_real_escape_string($value);
$x='1';
$query = mysql_query("INSERT INTO reponses
(nom_reponse,id_question,id_categorie,correct)
VALUES ('$values',
'$last_id',
'$categorie',
'$x')")
or die(mysql_error());
PLZ帮忙!如果选中,我怎么能用支票存储答案谢谢。
答案 0 :(得分:1)
非常简单,你必须记住CheckBox只能从html表单发送到脚本, IF 它们实际上是被检查的,所以$ _POST或$中不存在未选中的复选框_GET数组。
这不像看起来那么大,只需检查复选框是否存在,如果存在,则检查它。
所以在你的代码中而不是这样做
$check = $_POST['check'];
这样做
$check = isset($_POST['check']) ? 1 : 0;
我会更进一步显示将其存储在数据库中的代码,但您的代码实际上并未在任何地方使用$check
变量。
答案 1 :(得分:0)
尝试使用ajax发布的帖子 将id更改为类以便于选择
var selectedCB = new Array();
$('.cbcheck:checked').each(function() {
selectedCB.push(this.value);
});
$.ajax({
url: 'insert.php',
dataType: 'text',
type: 'post',
contentType: 'application/x-www-form-urlencoded',
data: {recordsval: selectedCB},
success: function( data){
$('#result').html(data);
},
error: function(errorThrown ){
console.log( errorThrown );
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="checkbox" class="cbcheck" name="check[]" value="1">
<input type="checkbox" class="cbcheck" name="check[]" value="0">
<input type="checkbox" class="cbcheck" name="check[]" value="1">
<input type="submit" value="submit">
<div id="result"></div>
和php句柄
<?php
$data = $_POST['recordsval'];
var_dump($data);
?>
使用您的代码进行调整......
答案 2 :(得分:0)
非常感谢先生重播;但问题是复选框是动态的,所选值取决于用户! 我使用表单serliaze通过ajax发送pot数据:复选框的格式为
<form name="form" id="form" role="form" method="post" action="">
<<tr>
<td>Answer</td>
<td><input type="text" id="name" name="answer[]"></td>
<td>
<input type="checkbox" id="check" name="check[]" ></td>
<td><input type="button" value="Ajouter" " class="button"></td>
</tr>
</form>
我怎么能选择所选的答案!如果答案是真的,那么这个想法就是存储一个,如果没有在列中存储0并且正确的话。在数据库中
我通过这种方式尝试通过AJAX处理数据
$(function() {
$("#form").on("submit", function(event) {
event.preventDefault();
$.ajax({
url: "test.php",
type: "post",
data: $(this).serialize(),
success: function(d) {
alert(d);
}
});
});
});
});