2012-03-22 31 views
0

テーブルを作成し、行と列に配置するこのJavaScriptコードがあります。 データベース内のいくつかのデータに基づいて、この関数を呼び出す必要があります。したがって、行の量はデータベース内のデータの量に基づいています。 私のデータベースの私のデータはmarkschemeで、私は質問の量に応じてを埋めるために、テーブルをするデータベースJavaScriptに基づくPHP、JavaScriptに基づくJavaScript関数の呼び出し

に私が試したし、ここに私のコードできています

hasLoaded = true;//page loaded set to true 

<?php 
    $query = "SELECT maxMark, criteria FROM mark "; 
    $result = mysql_query($query); 

    while ($result != null) 
    { 
    addRow();//add row with everything in 
    } 
+0

はほとんど意味がありません。あなたはPHPを表示するときにjsコードを使用します。 –

+0

[JavaScriptのコールphp関数]の重複可能性(@stackoverflow.com/questions/7165395/call-php-function-from-javascript) –

+0

@ダゴン - それは意味をなさないというわけではありません。 OPの理解はまだ完全には開発されていません。 2つの言語はまったく異なる時に処理されます。 PHPはサーバー上で実行され、JavaScriptはブラウザで実行されます。このようにそれらを混ぜても機能しません。 –

答えて

2

正解PHPからのデータはjson_encodeで、このようなJavaScript変数に格納します。

<?php 
    // populate the php rows array 
    $rows = array(); 
    while ($row = mysql_fetch_assoc($result)) { 
    $rows = array_push($rows, $row); 
    } 
?> 
<script> 
// populate the javascript rows array 
var rows = <?php echo json_encode($rows); ?>; 
for (var = 0; i < rows.length; i++) { 
    addRow(rows[i]); 
} 
</script> 
1

Jamundのソリューションは、インラインJavaScriptまたはPHPを使用してJavaScriptファイルを解析する必要があるため、お勧めできません。 JavaScriptの関数でAjaxポストを使用してサーバーからデータを取得し、そこからデータを取り込むことをお勧めします。

$(document).ready(function(){ 
$.ajax({ 
type: "POST", 
url: "yourscript.php", 
data:{param1: 'yourParam'}, 
success: PopulateTable 
}); 
}); 

functionPopulateTable(data, status) 
{ 
// Build Table with data 
} 

http://api.jquery.com/jQuery.ajax/あなたのページにjQueryを使用している場合、開始するには良い場所です。

関連する問題