2012-08-08 63 views
0

我使用選項標記的文字後這段代碼:發送陣列JSON

$("#major_names").change(function() { 
    $.post('find_lesson.php', { dars:$("#major_names option:selected").text() }, 
     function(data){ 
      if (data.success) 
         $("div").append(data.doroos); 
      else 
       alert('mm'); 
     },'json'); 
return false; 
}); 

現在find_lesson文件我用這個代碼從數據庫

<?php 

$lessonName=$_POST['lesson ']; 
$query= mysql_query("SELECT * FROM at_*** WHERE title = '{$lessonName}'"); 
$result= mysql_fetch_array($query); 

$sql= mysql_query("SELECT * FROM *** JOIN at_lessons ON . . ."); 
while($result=mysql_fetch_assoc($sql)) 
{ 
$data ['doroos']= $result['title']; 
} 
$data['success']=true; 


echo json_encode($data); 

?> 

mysql命令獲取任何記錄是正確的,但在發送數組後我得到1條記錄。請幫我

回答

5

變化

$data ['doroos']= $result['title']; 

$data ['doroos'][] = $result['title']; 

你基本上覆蓋doroos。相反,使用[]將每$result['title']添加到doroos

+0

我不知道這是可能的。謝謝。 – prageeth 2012-08-08 08:36:10

+0

你好。改變它後我得到這個錯誤在firebug:NS_ERROR_XPC_BAD_CONVERT_JS:無法轉換JavaScript參數arg 0 [nsIDOMDocumentFragment.appendChild] [Break On This Error] \t fragment.appendChild(script); – 2012-08-08 15:18:23

+0

這是一個javascript錯誤。做'alert(data.doroos)'並告訴你得到了什麼。 – Prasanth 2012-08-08 15:22:40

0

你應該像下面這樣做。否則,「doroos」將僅具有來自獲取結果集的最後一個標題記錄。

<?php 

$lessonName=$_POST['lesson ']; 
$query= mysql_query("SELECT * FROM at_*** WHERE title = '{$lessonName}'"); 
$result= mysql_fetch_array($query); 

$sql= mysql_query("SELECT * FROM *** JOIN at_lessons ON . . ."); 

$doroos = array(); 
$x = 0; 
while($result=mysql_fetch_assoc($sql)) 
{  
    $doroos[x++] = $result['title']; 
} 
$data ['doroos']= $doroos; 
$data['success']=true; 


echo json_encode($data); 

?> 
+0

我現在已經收到此錯誤:NS_ERROR_XPC_BAD_CONVERT_JS:無法轉換的JavaScript參數arg 0 nsIDOMDocumentFragment.appendChild] [打破這個錯誤] \t fragment.appendChild(腳本); jQuery的latest.js(線6497) POST http://aou.ir/ivu/assessment/find_dars.php \t 200 OK \t \t \t爲35ms的jquery -latest.js(線8240) HeadersPostResponseHTMLJSONCookies {「doroos」:[],「success」:true} – 2012-08-08 15:22:09

+0

將代碼更改爲: $ data ['doroos'] = array(); $ x = 0; 而($結果= mysql_fetch_assoc($ SQL)) { $數據[ 'doroos'] [$ X ++] = $結果[ '標題']; } $ data ['success'] = true; echo json_encode($ data); > 我能得到這個結果螢火: { 「doroos」: 「\ u0627 \ u0646 \ u0633 \ u0627 \ u0646 \ u0634 \ u0646 \ u0627 \ u0633 \ u06cc」], 「成功」:真正} (數據成功) $(「div」)。append(data.doroos); – 2012-08-08 15:29:20