如何根据点击顺序显示复选框中的数据

时间:2014-05-30 06:10:46

标签: php mysql

我想根据他们点击的顺序显示复选框中的数据。我为此目的使用php和mysql。我已经被困在这里好几天了。此代码只选中复选框并逐行显示,即从第一个到最后一个。我想设置复选框中插入的数据的优先级。

require_once 'DB.class.php';

$db = new DB();

$con = $db->connect();

$pid = mysqli_real_escape_string($

    con, $_POST['pid']);`enter code here`

    $checkboxl = $_POST['chkl'];

$title='';

if ($_POST['submit'] == 'Submit'){


    for($i=0; $i<sizeof($checkboxl);$i++){
        $temp = $checkboxl[$i] ;

   $title .= $temp . ' || ';

    }



$InsQuery = "UPDATE contents SET Title='$title' WHERE PID='$pid' ";
$query = $db->query($InsQuery);

echo "<script type=\"text/javascript\">window.alert('Title has been inserted!');window.location.href = 'index.php';</script>";

}else if($_POST['submit'] == 'Show')
    {
     for($i=0; $i<sizeof($checkboxl);$i++){
        $temp = $checkboxl[$i] ;

   $title .= $temp . ' || ';

    }
    $script = "<script type=\"text/javascript\">window.alert('Title: $title');window.location.href = 'index.php';</script>";

    echo $script;

}else{
    echo "<script type=\"text/javascript\">window.alert('ERROR!');window.location.href = 'index.php';
</script>";

2 个答案:

答案 0 :(得分:0)

试试这段代码。它可能有用。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
   </head>
   <body>
   <form name="myform" id="myform" method="post">
   <input type="checkbox" id="firstcheck" class="mycheck" />
   <input type="checkbox" id="secondcheck" class="mycheck" />
   <input type="checkbox" id="thirdcheck" class="mycheck" />
   <input type="checkbox" id="fourthcheck" class="mycheck" />
   <input type="hidden" id="hiddenarray" name="hiddenarray" />
   <input type="submit" name="submit" value="submit" />
   </form>
   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
   <script>
        var checkarray = Array();
        $('.mycheck').click(function(){
            id = $(this).attr('id');
            if($(this).attr('checked')){
                checkarray.push(id);    
            }else{
                checkarray.splice($.inArray(id,checkarray),1);
            } 
        });
        $('#myform').submit(function() {
            $('#hiddenarray').val(JSON.stringify(checkarray));
            return true;    
        });
   </script>
   </body>
   </html>

然后,这里是php代码,按照他们检查的顺序显示复选框的数据。

<?php
if($_POST){
    if(isset($_POST['hiddenarray'])){
        $array = json_decode($_POST['hiddenarray']);
        print_r($array);
    }
}
?>

答案 1 :(得分:0)

单独使用PHP是不可能的。

您可以使用Javascript实现它,通过跟踪顺序然后以某种方式将其发回,可能使用隐藏的input字段。你应该学习一点Javascript,给它最好的尝试,然后再回来,如果你再次陷入困境。