2012-04-06 9 views
6

ここでは、json形式のデータベースからいくつかの値を表示する簡単なPHPスクリプトがあります。画像が呼び出され、このjqueryのをクリックすると次に

[{"title":"Torus","date":"2012-04-04","time":"23:06:14"}] 

var image_src = $(this).attr("alt"); // <= This works fine 

    $.ajax({ 
     url: 'inc/get_image_details.php', 
     data: {source : image_src}, 
     dataType: "json", 
     success: function(data) 
     { 
      title = data.title; 
      alert(title); 

      date = data.date; 
      alert(date); 

      time = data.time; 
      alert(time); 
     } 
    }); 

しかし、(タイトル、日付&時間

$source = $_GET['source']; 

$query = mysql_query("SELECT * FROM images WHERE big_thumb = '" . $source . "'"); 

$results = array(); 

while($row = mysql_fetch_array($query)) 
{ 
    $results[] = array(
     'title' => $row['title'], 
     'date' => $row['upload_date'], 
     'time' => $row['upload_time'] 
    ); 
} 

$json = json_encode($results); 

echo $json; 

これは罰金、HERESに出力例を表示します)変数は警告ボックスに 'undefined'と表示されます。 私はajax呼び出しを実装する複数の方法を試しましたが、同じことが毎回発生します。 私はそれを試したのは初めてですが、私はそれを理解できません。

+3

PHPスクリプトに適切なヘッダーを使用しましたか? 'header( 'Content-Type:application/json'); ' – brezanac

答えて

21

json文字列の配列形式です。あなたはJSON形式を制御し、配列が必要でない場合は、この形式でJSONオブジェクトを使用して、この

title = data[0].title; 
alert(title); 

date = data[0].date; 
alert(date); 

time = data[0].time; 
alert(time); 

のようなJSONオブジェクトのプロパティにアクセスする必要があります。

{"title":"Torus","date":"2012-04-04","time":"23:06:14"} 

この場合、コードをそのまま保持することができます。

+0

それは大丈夫です。ありがとう、クラウディオ。 – loxyboi

関連する問題