2013-05-07 70 views
0

我認爲這將會非常簡單,但我認爲從.ajax向查詢發佈變量時存在一個錯誤。有沒有其他方法可以得到我的結果?如何在.ajax後的查詢中插入變量

這裏是我的jQuery:

jQuery_1_4_2(document).ready(function() 
{ 
jQuery_1_4_2('.mainfolder').live("click",function() 
{ 
event.preventDefault(); 
var ID = jQuery_1_4_2(this).attr("id"); 
var dataString = 'folder_id='+ ID; 

if(ID=='') 
{ 
alert("Serious Error Occured"); 
} 
else 
{ 
jQuery_1_4_2.ajax({ 
type: "POST", 
url: "display_folder.php", 
data: dataString, 
cache: false, 
success: function(html){ 
jQuery_1_4_2(".right_file").prepend(html); 


} 
}); 
} 


}); 

}); 

這裏是我的display_folder.php

<?php 
     $folder_id = $_POST['folder_id']; 
     //echo $folder_id; 
     $qry=mysql_query("SELECT * FROM tbl_folder WHERE folder_id='$folder_id'"); 
     while($row=mysql_fetch_array($qry)) 
      { 
       echo $row['folder_name'] . "<br>"; 
       } 

?> 

任何人能解釋爲什麼不行?我試圖echo $ folder_id並且它正在工作,但是當你把它放在查詢中時,它不起作用。

注意:這不是一個愚蠢的問題,我忘記了我的連接數據庫。謝謝

+2

['MySQL'(http://php.net/manual/en/book.mysql.php)(_mysql _ * _功能)擴展名是[* **棄用***](http://php.net/manual/en/function.mysql-connect.php)。我建議使用['MySQLi'](http://php.net/manual/en/book.mysqli.php)(_mysqli _ * _ functions)或['PDO'](http://php.net/manual改爲/en/book.pdo.php)。 – BlitZ 2013-05-07 05:58:54

+0

1.檢查來自DBMS的錯誤消息「mysql_errno()','mysql_error()'。 2.檢查你的數據庫。 3.檢查指定連接的數據庫。 – BlitZ 2013-05-07 06:03:15

+0

我想恢復一箇舊的網站,將使用ajax,所以如果有任何其他方式不重新編碼整個事情可以有人告訴我是什麼方式? – 2013-05-07 06:04:09

回答

0

我同意你和我在這裏我提供(只是爲了乾淨的顯示)相同的一些小格式。

var dataString = 'folder_id=1'; 
     $.ajax({ 
      url: "folder.php", 
      type:'post', 
      async: false, 
      data:dataString, 
      success: function(data){ 
       alert(data); 
      } 
     }); 

和php部分,我得到folder_id正確。

<?php 
    $postid = $_POST['folder_id']; 
//echo $postid; 
$link = mysql_connect("localhost","root",""); 
mysql_select_db("test", $link); 
$query = mysql_query("select * from post where id='$postid'"); 
while($row=mysql_fetch_array($query)) 
{ 
    echo $row['text'] . "<br>"; //a, b etc in each row 
} 
?> 

所以它應該工作。

+0

這是一個'POST'請求,爲什麼? – BlitZ 2013-05-07 05:59:54

+1

即使使用'$ .ajax'輔助程序將數據放入'data'屬性中的'GET'請求就足夠了,這將無濟於事。 – 2013-05-07 06:04:15

+0

這是工作是的。我使用了相同的代碼。我在folder.php中寫入「test」,並提示「測試」。這是行得通的。問題是當你在folder.php中測試一個查詢時,例如「SELECT * FROM test」。應該有輸出,但只顯示空白。 – 2013-05-07 06:21:18

0

在PHP代碼試試這個

<?php 
    $folder_id = addslashes($_POST['folder_id']); 
    //echo $folder_id; 
    $qry=mysql_query("SELECT * FROM tbl_folder WHERE folder_id='$folder_id'"); 
    while($row=mysql_fetch_array($qry)) 
     { 
      echo $row['folder_name'] . "<br>"; 
      } 

?>