首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果没有选中,则将复选框值1传递给使用AJAX的PHP

如果没有选中,则将复选框值1传递给使用AJAX的PHP
EN

Stack Overflow用户
提问于 2015-06-09 01:27:51
回答 3查看 2.5K关注 0票数 0

我想使用php复选框将"0“或"1”插入mysql数据库,但是值不能存储到数据库中!我试图插入这样一个复选框数组:

1:选定

0:未选定

代码语言:javascript
复制
[answer] => Array
        (
            [0] => answer 1
            [1] => answer  2
            [2] => answer  3
        )

[check] => Array
        (
            [0] => 1
            [1] => 0
            [2] => 1
        )

php文件:

代码语言:javascript
复制
<td> <!-- <input type="hidden"  name="check[]" value="0" >-->
     <input type="checkbox" id="check" name="check[]" value="1">
</td>

在通过AJAX的过程文件中,我存储答案数据库,但我无法存储选中的每个annswer的选中值。

代码语言:javascript
复制
$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());

救命啊!我怎样才能储存答案与支票,如果检查或不谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-09 02:27:52

非常感谢您的回放,但是问题是复选框是动态的,所选的值取决于用户!!我使用了表单serliaze通过ajax发送pot数据:复选框在表单中。

代码语言:javascript
复制
<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处理数据。

代码语言:javascript
复制
 $(function() {
                $("#form").on("submit", function(event) {
                    event.preventDefault();

                    $.ajax({
                        url: "test.php",
                        type: "post",
                        data: $(this).serialize(),
                        success: function(d) {
                            alert(d);
                        }
                    });
                });
            });
            });
票数 0
EN

Stack Overflow用户

发布于 2015-06-11 18:40:27

实际上,非常简单,您必须记住,CheckBoxes只从html表单发送到脚本,如果实际选中了,则为,所以$_POST或$_GET数组中不存在未选中的复选框。

这不是一个看上去那么大的问题,您所需要做的就是检查是否存在一个复选框,如果它存在,那么就选中它。

所以在您的代码中,而不是这样做

代码语言:javascript
复制
$check =  $_POST['check']; 

做这个

代码语言:javascript
复制
$check =  isset($_POST['check']) ? 1 : 0; 

我将进一步展示将其存储在数据库中的代码,但是您的代码实际上并没有在任何地方使用$check变量。

票数 1
EN

Stack Overflow用户

发布于 2015-06-09 01:45:01

用ajax试试这个帖子

将id更改为类以便于选择

代码语言:javascript
复制
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句柄

代码语言:javascript
复制
<?php
$data = $_POST['recordsval'];
var_dump($data);
?>

用你的代码调整这个..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30721615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档