2012-08-08 72 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