2017-08-16 15 views
-1

ためのJavaScriptを使用すると、PHPの一部です:ここ私は、データベースからデータを取得し、ここでループ</p> <p>ためのJSに入れしようとしていますループ

$result = mysql_query("SELECT * FROM db"); 
$row = mysql_fetch_array($result); 
$array[] = $row['value']; 

は、JSの部分が

var days=<?php echo json_encode($row['value']);?>; 
    for(var i=0;i<days.length;i++){ 
    document.write("Number"+ days[i] +"<br>"); 
    } 
です

私はechoの値を試してみると、私はechoのPHP部分の配列を問題なく使うことができますが、js部分にエラーはなく、ただの空白のページ


OK全体のシナリオは、ページのソース

を見たときに、今、私のコードは変更されました:私は値

var days=["8","11","18"]; 

を見ることができるページのソースを見たときに

rows = array(); 
     $result = mysql_query("SELECT * FROM db"); 
     $i=1; 
     while($row = mysql_fetch_array($result)) { 
     $array[] = $row['value']; 

     $i++; 
     } 


var days=<?php echo json_encode($array);?>; 
      for(var i=0;i<days.length;i++){ 
      document.write("Number"+ days[i] +"<br>"); 

次のステップは、jsグラフコードに実装することです。

私は、JSコード、それが動作するだけでは別々のページで

var days=<?php echo json_encode($array);?>; 
      for(var i=0;i<days.length;i++){ 
      document.write("Number"+ days[i] +"<br>"); 

を試してみてください、私はdataPointsの

dataPoints: [ 

      {y: var days=<?php echo json_encode($array);?>; 
      for(var i=0;i<days.length;i++){ 
      document.write(days[i] +"<br>"); 
      };, label: "test"}, 


     ] 

でコードを入れたとき、私はエラーなしで空白のページを取得する場合。ページソースを表示しても値が表示されます。 var days=["8","11","18"];

+0

生成されたHTMLをページ内の 'view source'と共有して確認できますか? –

+0

出力を見たり、データ構造を知ることなく言うのは難しいですが、$ arrayではなく$ arrayをjson_encode ["value"] – ishegg

答えて

-1

あなたが試すことができますPHPの復帰ではない文字列のJSON

ので、あなたのページが空白になっている:

var days= JSON.parse("<?php echo json_encode($row);?>"); 
    for(var i=0;i<days.length;i++){ 
    document.write("Number"+ days[i] +"<br>"); 
    } 

または: PHPファイル:

$result = mysql_query("SELECT * FROM db"); 
$row = mysql_fetch_array($result); 
return json_encode($row); 

JSファイル:

$.get("phpfile.php",function(rs){ 
    var days = JSON.parse(rs); 
    for(var i=0;i<days.length;i++){ 
     document.write("Number"+ days[i] +"<br>"); 
    } 
}); 
+1

JSON.parse( "<?php echo json_encode($ row);?>"); 'は意味がありません。 jsonでエンコードされたデータをjavascriptコードにエコーした場合、このデータはJavaScriptオブジェクトとして解釈される形式になっています。あなたのコードは 'JSON.parse([" 8 "、" 11 "、" 18 "])'のようなものになります。その場合、 'JSON.parse'は必須ではなく、文字列が必要なのでエラーになります。 –

+1

JSONレスポンスがサーバー側で正しく設定されている場合は、 'JSON.parse(rs)'は必要ありません。 jQueryが自動的にJSONデータを解析しない場合は、 'JSON.parse(rs)'を使用する場合は、応答タイプをサーバー側で固定する必要があります。応答型をサーバー側で固定できない場合でも、JSON.parse(rs)を使用するべきではありません。代わりに、jsonと解釈するための情報をajax要求に渡す必要があります。 –

+0

hi @ t.niese、 JSON.parse( '<?php echo json_encode($ row);?>'); =>コードの返信は次のようになります。 JSON。parse( '{"name": "aaa"、 "value": "bbb"}') –

関連する問題

 関連する問題