2013-10-07 26 views
2

我遇到了一個我在SO上發現的關於這個主題的例子。 看到原文:How do I show next result in MySQL on "onclick" in JavaScript?OnClick函數獲取下一個記錄PHP AJAX MYSQL

我跟着這個例子到T,除了使用一些更新的功能。無論如何,我陷入了一步,希望有人能解釋。

在下面的jquery中,代碼是設置$ number,然後將POST動作中的數字傳遞給php文件。我的問題是,當echo'count'時,它會迴應「$ number」。我不確定爲什麼它沒有傳遞一個實際的數字,比如「0」而不是字符串「$ number」。我可能在做嚴重錯誤的事情,但不知道發生了什麼。

jQuery的

$(function(){ 
    $('#showMore').click(function(event) { 
    event.preventDefault(); 
    $number = $('.result').size(); 

    $.ajax({ 
     type: "POST", 
     url: "getNext.php", 
     data: "count=$number", 
     success: function(results){ 
     $('#results').append(results); 
     } 
    }); 

    }); 

PHP
我傳遞計數到一個變量,這樣我可以在查詢中使用它,就像這樣:

$pst = $_POST['count']; 

SQL

$sql = "SELECT * FROM tablename LIMIT $pst,1"; 

我繼續並捕獲了我收到的錯誤(見下文) - 如前所述,它插入的是「$ number」而不是實際的數字。

「致命錯誤:查詢失敗的SQL:SELECT * FROM表名LIMIT $號,1

任何幫助,將不勝感激

+0

如果您瞭解如何查看請求/響應,您可以很快發現您沒有通過ajax傳遞正確的數據。 –

回答

1

問題是你發送計數爲字符串,這是$數字在你的情況。

你的數據應該是

data: {"count":$number}, //notice `"` 

把它作爲目標。

$data:"count=" + $number, 

concate了var

我喜歡的數據作爲對象,它是更具有可讀性。

+0

謝謝你,你的第一個例子爲我工作{「count」:$ number}我已經在我的ajax中輸入了第二個示例輸入,根據原始文章中的最後一條評論,但沒有奏效。 – user2828701

+0

非常高興它幫助...快樂編碼... – bipen

3

嘗試改變這一行:

data: "count=$number", 

對此

data: "count=" + $number, 

Javascript不會「讀取」像PHP這樣的變量的字符串,所以您需要手動連接值。