2012-03-22 2 views
0

У меня есть код JavaScript, который создает таблицу и помещает строки и столбцы. Я хочу вызвать эту функцию на основе некоторых данных в базе данных. Таким образом, количество строк основывается на количестве данных в базе данных. Мои данные в моей базе данных является markscheme, я хочу, чтобы таблица для заполнения в зависимости от количества вопросов в базе данныхВызов функции JavaScript на основе PHP, PHP в 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

не имеет смысла, вы говорите код js при показе php. –

+0

Возможный дубликат [Вызов функции php из javascript] (http://stackoverflow.com/questions/7165395/call-php-function-from-javascript) –

+0

@ Дагон - это не значит, что это не имеет смысла, понимание ОП еще недостаточно развито. Эти два языка обрабатываются в совершенно разные времена. PHP работает на сервере, а JavaScript работает в браузере. Смешение их таким образом не работает. –

ответ

2

Правильный ответ это json_encode ваши данные из PHP и хранить его в переменной 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, или разбор ваших файлов JavaScript с помощью PHP. Я бы рекомендовал использовать запись Ajax в вашей функции javascript для извлечения данных с вашего сервера, а затем для заполнения.

$(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 на вашей странице.

Смежные вопросы