2012-04-13 13 views
-1

私はphpから文字列を取得するために以下を使用しています。文字列を配列にする方法を知っています。.get json stringを使って配列に変換しますか?

のjQuery

$.get("get.php", function(data){ 
    alert(data); 
    //alert($.parseJSON(data)); 
}, "json"); 

コメントアウトセクションでは、効果がないようですので、私は本当に誰かがアドバイスをしてください可能性があり、私が間違っているの何言うカント?

必要に応じてPHPを投稿できます。

ありがとうございました。

PHP

<?php 

$username="root"; 
$password="root"; 
$database="testing"; 

mysql_connect(localhost,$username,$password); 
@mysql_select_db($database) or die("Unable to select database"); 

$name= $_GET['name']; 

$query="SELECT * FROM tableone "; 
$result=mysql_query($query); 

$num=mysql_numrows($result); 

mysql_close(); 

$array = array(); 

$i=0; 
while ($i < $num) { 

    $first=mysql_result($result,$i,"firstname"); 
    $last=mysql_result($result,$i,"lastname"); 
    $date=mysql_result($result,$i,"date"); 
    $ID=mysql_result($result,$i,"id"); 

    $array[$i] = $first; 

    $i++; 
} 

echo json_encode($array); 

?> 

出力:

["James","Lydia","John"]

+0

どのようなデータが返されますか? – j08691

+1

リターンデータ型として 'json'をすでに指定しているので、' data'は既に使用できるオブジェクトになります。 '$ .parseJSON(data)'は必要ありません。これはあなたのPHPページが正しい形式でデータを返すと仮定しています。 –

+0

JSONを生成するPHPコードを投稿してください。あなたがする必要があるのは、JavaScriptではなくPHPコードを変更することです - あなたのPHPコードがJSONとして返すものは 'data'です。 – ThiefMaster

答えて

0

あなたはすでにそのコールバックでJSONを取得しています。あなたが "警告する"とき、それは配列要素のコンマで区切られたリストで構成される文字列に変換されるので、そのようには見えません。

alert(data instanceof Array);を実行すると、「true」と吐き出されます。

+0

さて、私はPHPに配列を与えています、 'data'を配列にするにはどうすればいいですか? –

0

すでに配列よりも有用なものが戻ってきています。のは、あなたのPHPはこれを行いましょう:

<?php echo json_encode(array('John', 'Mary', 'Joseph')); ?> 

あなたの関数内あなたはデータを警告している場合は、あなたがこのような要素へのアクセスを得ることができます。

alert(console.log(data[0])); //will alert "John" 
alert(console.log(data[1])); //will alert "Mary" 

あなたはのいずれかを介してループする必要がある場合あなたはこのようにすることができます:

$(data).each(function(index) { 
    console.log(this.toString()); 
});​ 
+0

'alert(console.log(data [0]););'フルネームではなく文字だけを返します –

+0

おそらく、あなたはjsonエンコードの中の配列()を忘れているのでしょうか? – mitchkramez