2017-05-24 69 views
0

的index.php <ul id="remove_row">
<button type="button" name="btn_more" data-vid="<?php echo $pro_id; ?>" id="btn_more" class="btn btn-success form-control">more</button> </ul>
如何使用PHP PDO

load_data.php

sleep(1); 
require_once("config.php"); 
$query = $connect->prepare("SELECT * FROM county WHERE sof_similar > ".$_POST['last_video_id']." LIMIT 2"); 
$query->execute(); 
while ($row_posts = $query->fetch(PDO::FETCH_ASSOC)) 
{ 
$pro_id = $row_posts['sof_id']; 
$pro_similar = $row_posts['sof_similar']; 
echo " <li> 
<div class='alter'> 
<h1><hr /><img src='$pro_fimagelink' alt=''> <a href='$pro_downloadpage'><strong>$pro_name</strong></a> &nbsp;<a rel='nofollow' href='?q=$pro_name' target='_self'><small></small></a> <br /> 
<span>$pro_shortdescription<br /> 
<div class='license'>$pro_license</div> 


<li id="remove_row"> 
<button type="button" name="btn_more" data-vid=". $pro_similar ." id="btn_more" class="btn btn-success form-control">more</button> 
</li> 
"; 
傳遞兩個變量在阿賈克斯

阿賈克斯腳本:

<script> 
$(document).ready(function(){ 
$(document).on('click', '#btn_more', function(){ 
var last_video_id = $(this).data("vid"); 
$('#btn_more').html("Loading..."); 
$.ajax({ 
url:"/load_data.php", 
method:"POST", 
data:{last_video_id:last_video_id}, 
dataType:"text", 
success:function(data) 
{ 
if(data != '') 
{ 
$('#remove_row').remove(); 
$('#load_data_table').append(data); 
} 
else 
{ 
$('#btn_more').html("No Data"); 
} 
} 
}); 
}); 
}); 

有了這個代碼,我可以傳遞單個變量來獲得結果,但我需要2個變量才能獲得結果通過使用AJAX。我有這個博客的基本代碼:http://www.webslesson.info/2016/02/how-to-load-more-data-using-ajax-jquery.html

感謝webslesson.info給這個機會來了解AJAX。

+0

做一些這樣的事情。 **數據:{last_video_id:last_video_id,nextVar:nextVar},** –

回答

0

如您在ajax()數據,如需要,您可以通過儘可能多的變量:

data:{ 
    key1: value1, 
    key2: value2, 
    key3: value3, 
    and so on 
}, 
0

做這樣的:

data:{last_video_id:last_video_id,your_second_variable:your_second_variable}, 
0

方式-1:

dataType : "json", 
contentType: "application/json; charset=utf-8", 
data:{ 
     key1: value1, 
     key2: value2, 
     key3: value3, 
     .......... 
}, 

方式-2:您可以設置dat通過級聯如

data: 'value1='+val1+'&value2='+val2, 
0

讓我們按文件查看文件。

在文件load.php似乎你正在使用PDO但是錯誤的方式。 PDO允許您安全地轉義傳遞給查詢的變量,以避免sql injections。 hHaving記住,你應該重構你的當前查詢:

$query = $connect->prepare("SELECT * FROM county WHERE sof_similar > ".$_POST['last_video_id']." LIMIT 2"); 

$query = $connect->prepare("SELECT * FROM county WHERE sof_similar > LIMIT 2"); 
$stmt->bind_param('ii', intval($_POST['last_video_id'])); 

查看更多有關PDO在official documentation預處理語句。

爲了通過從Ajax請求更多的變量,你只需要添加更多的鍵/值對當前的Json ObjectAjax script文件:從閱讀中load_data.php

$.ajax({ 
    url:"/load_data.php", 
    method:"POST", 
    data:{ last_video_id:last_video_id, key : value }, // Our new key/value pair here 
    dataType:"text", 
    success:function(data) 
    { 
     if(data != '') 
     { 
      $('#remove_row').remove(); 
      $('#load_data_table').append(data); 
     } 
     else 
     { 
      $('#btn_more').html("No Data"); 
     } 
    } 
}); 

後來我們就可以訪問這些數據像你用`last_video_id``所做的那樣,全局變量爲$_POST

+0

謝謝...那麼,我怎樣才能在PHP中分配2個變量來獲得Ajax結果,因爲我完全是PHP&AJAX的新手......還在學習階段...

+0

謝謝,差不多我已經完成了。但是,我仍然在load_data.php中出錯。我怎樣才能從$ _post全局變量獲得2個變量值。$ sql =「SELECT * FROM tbl_video WHERE video_id>」。$ _ POST ['last_video_id']。「AND video_cat =」。$ _ POST ['last_soft_id']。「LIMIT 2」; $ result = mysqli_query($ connect,$ sql); if(mysqli_num_rows($ result)> 0) { while($ row = mysqli_fetch_array($ result)) { –