0

オプションタグの投稿テキストにこのコードを使用しています:

$("#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 つのレコードを取得しています。私を助けてください

4

2 に答える 2

5

変化する

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

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

あなたは基本的に上書きしていdoroosます。代わりに、すべてを[]に追加するために使用します。$result['title']doroos

于 2012-08-08T08:29:32.670 に答える
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);

?>
于 2012-08-08T08:34:34.533 に答える