如何使用多个值显示查询'DB'的get-variable?

时间:2016-06-30 08:03:55

标签: php jquery mysql

我在文本框中显示值时出现问题。

我有代表申请职位的复选框。当用户选中多个复选框并单击“应用”按钮时,复选框值的id将以comma分隔,并使用ajax发送到applyView.php文件:

示例:applyView.php?id=1,2,3

,脚本是

$(document).ready(function(){
  $('.job-apply').on('click', function(){
    var selected = $('input[name="job[]"]:checked').map(function(i,e){return e.id;}).get();
        var res = selected.join(",");
        $.ajax({
            url: 'php/applyView.php?id='+res,
            dataType: 'json',
            success: function(data){
                if(data.length > 0)
                {
                    var tmp = data[0];
                    $('#apply-title').attr('value',tmp.apply_title);
                }
               window.location.href = "apply.php";
        }
    });
});

applyView.php文件是:

require "dbconnect.php";
$id = $_REQUEST['id'];

$query = mysqli_query($conn, "SELECT `job_title` FROM `job` WHERE `job_id` IN ($id)");

$results = array();

while($row = mysqli_fetch_array($query))
{
   $results[] = array(
      'apply_title' => $row['job_title'],
   );
}

$json = json_encode($results);

echo $json;

JSON值的输出为:

[{"apply_title":"Web developer"},{"apply_title":"Software Engineer"},{"apply_title":"Web developer"}] 

apply.php文件是:

<form role="form" class="post-resume-form">
    <div class="form-group">
        <label for="job_title">Job Title</label>
        <input type="Text" class="form-control input" id="apply-title" value="" />
    </div>
</form>

现在问题是只显示id (#apply-title)的值,并以comma分隔。

在表单文本框中,它必须是这样的:

"Web Developer","Software Engineer","Web Developer"

帮帮我们!!

1 个答案:

答案 0 :(得分:0)

如果我没有弄错,你只想采用以逗号分隔的申请标题。 您可以添加以下代码来代替回声(或在其下方):

$allTitles = "";
foreach($results as $applytitle){
   $allTitles = $allTitles . $applytitle["apply_title"] . ",";
}
echo $allTitles;

这应输出Web Developer,Software Engineer,Web Developer,。 可以使用子字符串方法删除最后一个逗号(在输出中)。

注意:我没有对此进行测试,因此可能无效!如果您收到错误,请与我联系