2015-10-29 4 views
0

У меня есть код, и когда я нажимаю кнопку «+» в таблице, он отображает идентификатор строки. Но код Javascript сохраняет только последний результат из БД.Javascript in While Loop PHP

<script type="text/javascript"> 

function fnFormatDetails (oTable, nTr) 
{ 
var aData = oTable.fnGetData(nTr); 
var sOut = '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">'; 
sOut += '<tr><td>Estado:</td><td><?php echo $row['ID'] ?></td></tr>'; 
sOut += '</table>'; 

return sOut; 
} 
</script> 

<table> 
<thead> 
<tr> 
<th>ID</th> 
<th>Evento</th> 
<th>Nome</th> 
</tr> 
</thead> 
<tbody> 

<?php 
while($row = mysql_fetch_assoc($result)){ 

echo 
" <tr> 
<td>{$row['ID']}</td> 
<td>{$row['Evento']}</td> 
<td>{$row['Nome']}</td> 

</tr>\n"; 
} 
?> 
</tbody> 
</table> 

Я как бы застрял в этом ... Спасибо за любую помощь.

+0

есть кнопка +? – messerbill

ответ

2

PHP работает на сервере до результирующая страница отправляется на клиентскую машину. Таким образом, единственная запись, присутствующая в JavaScript, является последней из найденных (предыдущие перезаписываются). У вас есть два способа разобраться в этом:

  1. сцепить записи в строку и вставить, что в код JavaScript

  2. использовать AJAX крикнуть в PHP скрипт для построения HTML, который вам хочет. Это затем возвращается к вызывающему JavaScript, который вторит его на экран

Лично я следую методу 2 в настоящее время, как это легче запомнить. PHP на сервере, вызываемом JavaScript на клиенте