我试图用MySQL数据库的信息填充jQuery DataTable,而不使用AJAX。我更喜欢使用更简单的代码,因为这个项目意味着尽可能少。下面的代码在我的HTML标记开始之前:
<?php
//Connect to the MySQL database
$usernameMain = "username";
$passwordMain = "password";
$hostMain = "host";
$dbnameMain = "database";
$optionsMain = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
$dbMain = new PDO("mysql:host={$hostMain};dbname={$dbnameMain};charset=utf8", $usernameMain, $passwordMain, $optionsMain);
$sql = 'SELECT name,date,location,entity,type FROM `events`';
$result = $dbMain->query($sql);
?>
我已经生成了一个连接到我的数据库(我删除了我的详细信息),并且还确保为jQuery数据表导入脚本文件。
在下面的HTML文档中,我创建了一个表,并尝试使用while循环回显该数据库信息:
<table class="table table-hover table-nomargin table-bordered usertable"
id="datatables">
<thead>
<tr class='thefilter'>
<th class='with-checkbox'></th>
<th>Name</th>
<th>Location</th>
<th>Type</th>
<th>Date</th>
<th>Entity</th>
<th>Options</th>
</tr>
<tr>
<th class='with-checkbox'><input id="check_all" name=
"check_all" type="checkbox"></th>
<th>Name</th>
<th>Location</th>
<th>Date</th>
<th>Type</th>
<th>Sponsoring Entity</th>
<th>Options</th>
</tr>
</thead>
<tbody>
<!--Gather Rows from Database-->
<?php
$row = mysqli_fetch_array($result);
while ($row) {
?>
<tr>
<td class="with-checkbox"><input name="check" type="checkbox"
value="1"></td>
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['date']; ?></td>
<td><?php echo $row['location']; ?></td>
<td><?php echo $row['entity']; ?></td>
<td><?php echo $row['type']; ?></td>
<td>
<a class="btn icon-pencil" href="#" rel="tooltip" style=
"font-style: italic" title="Edit"></a> <a class=
"btn icon-plus-sign" href="#" rel="tooltip" style=
"font-style: italic" title="Enter Attendance"></a>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
然后在创建这个表之后,我插入了以下Javascript代码,用jQuery将表初始化为一个DataTable:
<script type="text/javascript">
(document).ready(function() {
$('#datatables').dataTable( {
} );
);
</script>
我没有适当的声誉来上传图像,所以我用我的网站的数据库设置创建了一个Imgur相册,我在这里得到的HTML页面的错误:https://i.stack.imgur.com/cS39D.jpg
我不确定问题是数据库连接,数据表还是其他东西。我在这个问题上花了很多时间,但一直遇到障碍。如有任何帮助,我将不胜感激。
事先感谢您的协助
您可以只使用dataTable的data选项,并通过json_encode
提供php数据结构dataTable({
...
data: <?phpecho json_encode($data_prepared_from_db); ?>
})