2010-03-24 112 views
0

我想創建一個動態的sql查詢,其中用戶單擊一個按鈕(鏈接),並將該鏈接的ID發送到SQL查詢。我想用jQuery來完成這個任務。但是,對於jquery和PHP都很新,我發現很難讓它正常工作。試圖讓sql查詢與jQuery動態

首先,我應該提到我正在使用this php pagination class。我在主頁上有三個鏈接,其中包含用戶可以用來過濾內容的類別的ID。

如果有人能幫我解決這個問題,那會很棒。謝謝。

這是我開始jQuery的,但就像我說的,它不能正常工作:

$(document).ready(function(){ 

    //Display Loading Image 
    function Display_Load() 
    { 
     $("#loading").fadeIn(900,0); 
     $("#loading").html("<img src='bigLoader.gif' />"); 
    } 
    //Hide Loading Image 
    function Hide_Load() 
    { 
     $("#loading").fadeOut('slow'); 
    }; 

// Sort Content Marketing  
$("a.category").click(function() { 
    this_id = $(this).attr("id"); 
    $.get("pagination3.php", { category: this_id }, 
    function(data){ 
     //Load your results into the page 
     $("#content").load('pagination3.php?&category='+ this_id); 
    }); 
}); 



}); 

這裏是主要頁面的樣子:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script> 
<script type="text/javascript" src="jquery_page.js"></script> 

<?php 
    //Include the PS_Pagination class 
    include('ps_pagination.php'); 
    //Connect to mysql db 
    $conn = mysql_connect('localhost', 'root', 'root'); 
    mysql_select_db('ajax_demo',$conn); 
    $sql = "select * from explore where category='marketing'"; 
    //Create a PS_Pagination object 
    $pager = new PS_Pagination($conn, $sql, 3, 11, 'param1=value1&param2=value2'); 
    //The paginate() function returns a mysql 
    //result set for the current page 
    $rs = $pager->paginate(); 
    //Loop through the result set 
    while($row = mysql_fetch_assoc($rs)) { 
      echo "<div id='loading'></div>"; 
      echo "<div id='content'>"; 

      echo "<table width='800px'>"; 

       echo "<tr>"; 
        echo"<td>"; 
        echo $row['id']; 
        echo"</td>"; 

        echo"<td>"; 
        echo $row['site_description']; 
        echo"</td>"; 

        echo"<td>"; 
        echo $row['site_price']; 
        echo"</td>"; 
       echo "</tr>"; 

      echo "</table>"; 
      echo "</div>"; 
    } 

     echo "<ul id='pagination'>"; 

      echo "<li>"; 
      //Display the navigation 
      echo $pager->renderFullNav(); 
      echo "</li>"; 

?> 

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

<a href="#" class="category" id="automotive">Automotive</a> 

<a href="#" class="category" id="sports">Sports</a> 
+0

php代碼似乎不相關。 pagination3.php的代碼是什麼,當你瀏覽它時會發生什麼?它顯示正確的HTML?此外,「不起作用」是一個很糟糕的描述你的問題... – Kobi 2010-03-24 18:30:55

+0

pagination3.php是上面看到的主頁。關於它不工作,我的意思是,我無法弄清楚如何發送a.category id到sql查詢來改變用戶點擊鏈接時的類別。 – ClarkSKent 2010-03-24 21:56:09

回答

0

一個問題是:您有兩個AJAX呼叫 - getload。你不需要兩個。
要麼使用load

$("#content").load('pagination3.php?&category='+ this_id); 

get

$.get("pagination3.php", { category: this_id }, 
    function(data){ 
    $("#content").html(data); 
    }, "html" 
); 

(這裏的一個側面說明的是,兩個呼叫不一定是錯的 - 他們可能都工作還,注意SQL注入。 - 你非常接近..)