Desired Behavior:我希望通过AJAX发布job_id变量,并使用它作为进一步的查询来返回与作业相关的更多信息。
问题:
-
最初,AJAX请求只会发布最后一个返回行的job_id,而不管我选择了哪个选项。
-
自从我试图用下面的代码解决我的问题后,它就停止了发布。
搜索数据库
$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.' | '.$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;
}