我想根据他们点击的顺序显示复选框中的数据。我为此目的使用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>";
答案 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,给它最好的尝试,然后再回来,如果你再次陷入困境。