如何使用Javascript通过AJAX传递所需的id;PHP


How can I pass the required id via AJAX using Javascript & PHP

Desired Behavior:我希望通过AJAX发布job_id变量,并使用它作为进一步的查询来返回与作业相关的更多信息。

问题:

  1. 最初,AJAX请求只会发布最后一个返回行的job_id,而不管我选择了哪个选项。

  2. 自从我试图用下面的代码解决我的问题后,它就停止了发布。

搜索数据库

$sql = "SELECT STUFF from THETABLE WHERE thisis LIKE '$search'";
$query = mysqli_query($db_conx, $sql);
$numrows = mysqli_num_rows($query);
}

获取我的结果

while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
$job_id = $row['job_id'];
$job_city = $row["job_city"];
$job_title = $row['job_title'];
$pay_from = $row['pay_from'];
$pay_to = $row['pay_to'];
$job_desc = $row['job_desc'];
$list .= '<div id="widgetsearchresults" data-id="<?php $job_id; ?>"     >'.$job_id.''.$job_title.'&nbsp|&nbsp'.$job_city.'<br> From £ '.$pay_from.' To £ '.$pay_to.'<input id="jobid" type="hidden" name="jobid">'.$job_id.'</input></div>';
}

发布Job_id

$(document).ready(function(){
$("#widgetsearchresults").click(function(){ 
    var url = 'thepage.php';
    var id = $(this).data("job_id");
    var postit = $.post( url, {id:id});
    postit.done(function( data ) {
});
});
});

处理程序文件:

if(isset($_POST["id"]) && $_POST["id"] != ""){
$thisjob = $_POST['idtoget'];
echo $thisjob;
}

您可以使用数据属性:

<div class="get-more" data-id="<?php $id; ?>">WHATEVER</div>
<script>
$(document).ready(function(){
    $(".get-more").click(function(){ 
        var url = 'path-to-php-handler.php';
        var id = $(this).data("id");
        var postit = $.post( url, {id:id});
        postit.done(function( data ) {
            // what you echo on the php handler is returned as data -  do what you want with data
    });
});
</script>

您也可以使用jQuery属性

<div class="get-more" data-id="<?php $id; ?>">WHATEVER</div>
<script>
$(document).ready(function(){
$(".get-more").click(function(){ 
    var url = 'path-to-php-handler.php';
    var id = $(this).attr('data-id');
    var postit = $.post( url, {id:id});
    postit.done(function( data ) {
        // success action
});
});
</script>

在处理程序文件中,我认为你想拿回id,所以试试这个:

  if(isset($_POST["id"]) && $_POST["id"] != ""){
   $thisjob = $_POST['id'];
   echo $thisjob;
     }