如何传递两个参数并在php中获取过滤结果?

时间:2016-08-27 11:25:43

标签: php mysql

我在MYSQL中创建了表格,其中列有' name',' worker_id',' local_job_id'这里我的php代码给出了给定local_job_id的相应名称 来自链接

http://allwaysready.16mb.com/Cuboid/LocalCheckRequest.php?local_job_id[]=3

给出

{"result":[{"worker_id":"2"},{"worker_id":"1"}]}

但是,如果worker_id和local_job_id都匹配,我想在此代码中更改的内容是显示名称。

" http://allwaysready.16mb.com/Cuboid/LocalCheckRequest.php?local_job_id[]=3=2&worker_id=2"那个名字'应显示对应于local_job_id = 3和worker_id = 2的内容。

<?php

if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    $local_job_id = $_GET['local_job_id'];
    require_once ('dbConnect.php');

    $local_job_request = array();
    foreach($_REQUEST['local_job_id'] as $key => $val) {
        $local_job_request[$key] = filter_var($val, FILTER_SANITIZE_STRING);
    }

    $local_job_ids = "'" . implode("','", $local_job_request) . "'";
    $sql = "SELECT * FROM local_job_request WHERE local_job_id IN ({$local_job_ids})";
    $r = mysqli_query($con, $sql);
    $result = array();
    while ($res = mysqli_fetch_array($r)) {
        array_push($result, array(
            "worker_id" => $res['worker_id']
        ));
    }

    echo json_encode(array(
        "result" => $result
    ));
    mysqli_close($con);
}

1 个答案:

答案 0 :(得分:1)

尝试这可能对您有所帮助     

if($_SERVER['REQUEST_METHOD']=='GET'){

    $local_job_id  = $_REQUEST['local_job_id'];
    $worker_id  = $_GET['worker_id'];
    require_once('dbConnect.php');

    $local_job_request = array();

           foreach ($local_job_id as $key => $val) {
           $local_job_request[$key] = filter_var($val, FILTER_SANITIZE_STRING);
            }
            $local_job_ids = "'" . implode("','", $local_job_request) . "'";

            $sql = "SELECT * FROM local_job_request WHERE local_job_id IN ({$local_job_ids})";

            if(isset($worker_id) && $worker_id != "") {
                $sql .= " AND worker_id = ".$worker_id;
            }
    $r = mysqli_query($con,$sql);

    $result = array();

            while($res = mysqli_fetch_array($r)){

    array_push($result,array(
        "worker_id"=>$res['worker_id']
        )
    );
            }
    echo json_encode(array("result"=>$result));

    mysqli_close($con);

}