在您的服務器,你需要一個PHP文件/動作做這樣的事情:
$return = array();
$q = mysql_query('SELECT * FROM ...');
while(($return[] = mysql_fetch_assoc($q)) !== false);
echo json_encode($return);
在預建的HTML頁面,你需要一個容器要打印的數據:
<div id="db-container"></div>
然後JS包括在頁面(我使用jQuery這裏簡單性和可讀性,雖然你可以使用本機JS或可能任何其他JS工具它做):
function getDB() {
$.getJSON(
'http://url.to/your/code.php',
{},
function(data) {
var renderedHTML = '';
/* parse the object representing PHP's $return, mainKey will be numerical keys */
for(var mainKey in data) {
/* one main loop iteration == one table row */
renderedHTML += '<tr>'
/* data[mainKey] is a row in DB, subKey will contain a name of a DB table column */
/* data[mainKey][subKey] will therefore contain the value of DB table column 'subKey' for the DB table row numbered 'mainKey' */
for(var subKey in data[mainKey]) {
renderedHTML += '<td>' + data[mainKey][subKey] + '</td>'
}
/* statically add another HTML table column for the buttons */
renderedHTML += '
<td>
<input type="button" name="b1" onclick="func1(\'arg1\')">
<input type="button" name="b2" onclick="func2(\'arg2\')">
</td>
';
renderedHTML += '</tr>'
}
/* insert the built table into the page */
$('#db-container').html('<table>' + renderedHTML + '</table>');
}
);
}
希望這有助於。
謝謝。我個人不知道jQuery,但我理解你的方法。我可以在JavaScript中做到這一點。謝謝! – urbanspr1nter
不客氣!爲了將jQuery轉換爲JS,'$ .getJSON'僅僅是一個'XmlHttpRequest',它具有預期的返回類型'text/json',儘管你可以使用你喜歡的編碼; '$('#element')。html(data)'和document.getElementById('element')。innerHTML = data'是一樣的。但是要小心,因爲'innerHTML'在大多數瀏覽器中執行得不好,您可能希望將它與更安全的DOM方法'createElement'和'appendChild'一起使用([這裏是鏈接](http://domscripting.com/blog/display/99)描述了在插入子樹時強制重建DOM的技巧)。祝你好運! –