首页 > 解决方案 > 从具有多个复选框数组的值的数据库中选择数据

问题描述

这是我遇到错误的代码:

function sanitizeString($var)
{
    $var = trim($var);
    $var = stripslashes($var);
    $var = strip_tags($var);
    $var = htmlentities($var);
    return $var;
}
$errors = array();
$query = "";
if (isset($_POST["tests_list"])) {
    $test_id = mysqli_real_escape_string($con, sanitizeString($_POST["tests_list"]));
    $can_ids = $_POST["checkCandidate"];
    $status = "active";
    foreach ($can_ids as $can_value) {
        $sel = mysqli_query($con, 'select * from assign_table where candidate_id="' .$can_value.'" and test_id="$test_id"');
        if(mysqli_num_rows($sel)>0){
            $errors[] = $can_value  . " already assigned<br>";
        }else{
            $query .= "insert into assign_table(test_id, candidate_id, status) values('$test_id', '" . $can_value . "', '$status');";
        }
    }
    if(count($errors)===0){
        if (mysqli_multi_query($con, $query)) {
            echo "success";
        } else {
            echo "error";
        }
    }else{
        foreach ($errors as $error) {
            echo $error;
        }
    }
} else {
    echo "Direct Access Not Allowed";
}

我想检查选定的候选人是否已经分配。如果候选人已经被分配到测试,它应该显示消息已经分配,​​否则将候选人插入到assign_table,但它不验证选择查询。任何人都可以帮忙吗?

标签: phparraysloopsmysqlicheckbox

解决方案


推荐阅读