2012-02-02 7 views
2

誰かが助けることができるのだろうか?テーブルを選択し、戻り値のある配列をJavascriptで作成したい。Mysql selectからJavascript Arrayを生成する

con = mysql_connect("localhost","usrname","password"); 

if (!$con) { 
    die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("my_db", $con); 
$ql = "SELECT theMessage FROM email_message"; 
$result = mysql_query($ql) or die(mysql_error()); 

while ($row = mysql_fetch_array($result)) { 
    $allMessage = $row['theMessage'] . " "; 
} 

$arr = array($allMessages); 
$script = '<script>var newArr = new Array(' . implode(' ', $arr) . ');</script>'; 
echo $script; 

をしかし、その代わりに、それはちょうど私にこのような空の配列を示しています:ここで私はこれまで持っているものだのvar newArr =新しい配列を();

答えて

3

変更ライン

$allMessage = $row['theMessage'] . " "; 

$allMessages[] = $row['theMessage'] . " "; 

(変数名の通り追加、[]の追加)あなたの結果は、新しい行を読むたびに上書きされるため を

へその後、別の(空の)変数から読み込みます!

これで、配列にスペースを入れないようにする必要があります。格納するデータに応じて、 "、"または "'、" "で埋め込む必要があります。

出力をフェッチループに直接入れることもできますが、それはあなたのアイデアです。私は助けることができる

http://www.php.net/manual/en/function.json-encode.php

http://www.php.net/manual/en/function.json-decode.php

希望:あなたは本当にについて検討すべきである何

はjson_encode()とjson_decode()を読んでいます。

0

json_encode()の使用を検討しましたか?

私はmysql_fetch_assocを使用し、次に 'while'ループで各項目をPHP配列にプッシュし、組み込みのjson_encode関数を使用して簡単に使用できるjavascriptオブジェクトを作成します。

編集:mysql_機能を使用しないでください。同じ目標を達成するためにPDOとMySQLiに同様の機能があります。それらを使用してください。

関連する問題