2012-02-28 13 views
0

PHPでAJAX応答を生成する際に問題が発生しています。応答は、内部のデータベース値を持つ連想配列でなければなりません。これらの値は後で選択ボックスに表示されます。PHPによるAJAXの応答、mysqlの問題

if (isset($_POST['rolle'])) { 
    $sql = "SELECT rolle FROM pu_zugriff_rolle ORDER BY rolle ASC"; 

    $result = mysql_query($sql); 

    $result = mysql_fetch_array($result); 

    echo json_encode($result); 
} 

データベースにはいくつかのエントリが格納されていますが、結果として最初のデータベース値が2回だけ取得されます。 SQLクエリは、確かに問題ではありません。

私は助けの配列を作成するために文が必要です$result = my_sql_array($result);のどこかを読んでいます。私はそれをステートメントを残している場合、それは空の選択ボックスになります。

+0

[ドキュメント](http://php.net/manual/en/function.mysql-fetch-array.php)は言う:「は、mysql_fetch_array - フェッチ**を結果行**を連想配列、数値配列、またはその両方として返します。 –

+0

なぜSafrazのアドバイスに従っていませんか?原則は同じです、あなたはループを実行する必要があります(私のdownvoteではない) –

答えて

1

$finalArr = array(); 

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
    $finalArr[] = $row; 
} 

echo json_encode($finalArr); 
0

mysql_fetch_array($ result、MYSQL_ASSOC)のように、mysql_fetch_assoc($ result)またはMYSQL_ASSOC定数を使用する必要があります。

あなたがこれを行うことができます