2010-03-05 128 views
1

我想弄清楚如何動態更新我的sql查詢。如何動態更新sql查詢 - jquery

在主頁上,我有一個分頁腳本,計算有多少網頁會出現:

<?php 
function generate_pagination($sql) { 
    include_once('config.php'); 
    $per_page = 3; 

    //Calculating no of pages 
    $result = mysql_query($sql); 
    $count = mysql_num_rows($result); 
    $pages = ceil($count/$per_page); 

    //Pagination Numbers 
    for($i=1; $i<=$pages; $i++) 
    { 
    echo '<li class="page_numbers" id="'.$i.'">'.$i.'</li>'; 
    } 
} 
?> 

然後我在同一頁面這行代碼來填充頁碼的身體:

<?php generate_pagination("SELECT * FROM explore WHERE category='marketing'"); ?> 

因此,該行顯示的只是「營銷」類別顯示的必要數量的頁碼。

我遇到的問題是使用單行代碼。我想使類別動態,所以而不是硬編碼到'營銷'我想jquery獲得一個元素的id並將其放入。

元素將是這個鏈接,我有同樣的頁:

<a href="#" class="category" id="marketing">Marketing</a> 

所以,當用戶點擊該鏈接,我試圖將使用jQuery查詢的類別部分的鏈接的ID。

我希望這是有道理的,如果有人能幫助我,這將是偉大的。

+0

這是在一個AJAX請求,或正常的頁面加載? – 2010-03-05 00:47:55

+0

這是一個Ajax請求。 – SOFuser 2010-03-05 01:00:43

+0

你可以發佈你目前的ajax電話嗎?更容易直接回答這個問題 – 2010-03-05 01:08:32

回答

1

首先,PHP端:

<?php 
function generate_pagination($sql) { 
    include_once('config.php'); 
    $per_page = 3; 

    //Calculating no of pages 
    $result = mysql_query($sql); 
    $count = mysql_num_rows($result); 
    $pages = ceil($count/$per_page); 

    //Pagination Numbers 
    for($i=1; $i<=$pages; $i++) 
    { 
    echo '<li class="page_numbers" id="'.$i.'">'.$i.'</li>'; 
    } 
} 
?> 

<?php generate_pagination("SELECT * FROM explore WHERE category='" . mysql_real_escape_string ($_POST ['category']) . "'"); ?> 

然後在您的jQuery的崗位:

$("a.category").click(function() { 
    $.post("test.php", { category: $(this).attr("id") }, 
    function(data){ 
     //Load your results into the page 
    }); 
}); 

在點擊我們採取的ID,將其傳遞給服務器變量後category,然後在服務器,抓住它,爲了安全性妥善轉義它,並使用該查詢。以與現在相同的方式加載結果,該部分不會改變。

+0

+1使用'mysql_real_escape_string' – 2010-03-05 01:28:36