2016-12-12 11 views
0

各US州のD3マップにSQLテーブルの値を表示する必要があります。以下は私のfile.phpからのコードの抜粋です:PHP 'whileループ'をJavaScriptコードに挿入するには?

  1. ここではSQLクエリです:

    $sql = "SELECT COUNT(State) FROM `mytable`"; 
    $sql_result= mysqli_query($cnx,$sql) or die('Could not execute' . mysqli_error()) ; 
    
  2. ここでは、私は配列

    <? while($myvar=mysqli_fetch_array($sql_result)) { **need to add both php and javascript below..** } 
    
    <?php $js_array = json_encode($myvar['0']);?> 
    
  3. に結果を渡す方法です。ここはどこにあります私は、データを渡す必要があります。

    .forEach(function(d){ 
        var  kpi01=<?php echo "var nbcustomers = ". $js_array . ";\n";?>, // No of customers in that state 
          kpi02= ..... 
    
          sampleData[d]={kpi01, kpi02}; 
        }); 
    

.forEachwhileループの後にJavaScriptコードを正しく挿入する方法を教えてもらえますか?

+0

あなたは.jsファイルで行うことはできませんが、あなたが必要なサーバー側の処理を扱うPHPファイルへのAJAX呼び出しを使用する必要があります – azad

+1

の.phpまたは.htmlファイルで行うことができます。 PHPはサーバー側で実行され、クライアント側で実行されるJavaScriptより前に実行されます。 –

+0

Sidenote:あなたのsqlクエリは私には擬似的です(引用符がありません)。また、mysqli_error関数はdb接続を引数として必要とします。 –

答えて

1

は、名前に数字を持つ変数の束を生成しようとしていると周りの混乱をしないでください。

ちょうどその時はJavaScriptに変換するjson_encodeを使用して、PHPに必要なデータ構造(あなたのSQLクエリの結果の配列)を構築。

<?php 
    $my_array = []; 
    while($myvar=mysqli_fetch_array($sql_result)) { 
     $my_array[] = $myvar; 
    } 
    $js_array = json_encode($my_array); 
?> 
<script> 
var javascript_array = <?php echo $js_array; ?>; 
</script> 
関連する問題