我有一个表,我使用来自MySQL的数据通过PHP填充。
<table id="tab" class="table">
<thead>
<tr>
<th>Heading</th>
</tr>
</thead>
<tbody>
<?php
session_start();
$id=$_SESSION['id'];
$val=$_SESSION['val'];
if($val=="1")
{
$result = $obj->getAllVals();
}
else
{
$result = $obj->getVal($id);
}
foreach($result as $row) { ?>
<tr style="cursor:pointer" onclick="gp('<?php echo $row['name']; ?>')">
<td> <?php echo $row['name']; ?> </td> </tr>
<?php } ?>
</tbody>
</table>
我无法将数据视为数据表。这是我如何调用数据表:
$(document).ready( function () {
$('#tab').dataTable();
});
以下是我正在使用的脚本:
<script src="static/js/jquery.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="static/lib/jquery.dataTables/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="static/lib/jquery.dataTables/js/DT_bootstrap.js"></script>
<script type="text/javascript" src="static/lib/jquery.dataTables/js/datatables.responsive.js"></script>
<script src="static/js/jquery-ui.js" type="text/javascript" charset="utf-8"></script>
答案 0 :(得分:3)
你是否填充了变量$ result?
如果替换它会怎样:
foreach($result as $row) { ?> <tr style="cursor:pointer" onclick="gp('<?php echo $row['name']; ?>')"> <td> <?php echo $row['name']; ?> </td> </tr> <?php } ?>
由此:
foreach($result as $row) { ?> <tr><td>Test</td></tr> <?php } ?>
它是否显示了很多“测试”细胞? 如果是,那么从“$ row”变量中获取信息会出现问题。 如果没有,那么foreach循环或“$ obj-&gt;”都有问题。调用
答案 1 :(得分:2)
您至少有一个错误,就在
之外<?php ?>
体:
<tr style="cursor:pointer" onclick="gp(\''.$row['name'].'\')">
=&GT;
<tr style="cursor:pointer" onclick="gp('<?php echo $row['name']; ?>')">
答案 2 :(得分:1)
<?php
session_start();
?>
答案 3 :(得分:0)
尝试使用while循环,而不是foreach。
while($row = mysql_fetch_array($result)) {
echo "<tr style='cursor:pointer' onclick='gp('".$row['name']."')'>
<td> ".$row['name']." </td>
</tr>";
}
答案 4 :(得分:0)
我假设表中有行,并且你说“控制台没有丢失任何与数据表相关的错误”
在这种情况下,您可能需要检查不相关的错误。 如果有错误,可能会停止所有进一步的脚本执行。
您应该检查此行$('#tab').dataTable();
是否完全执行(您可以将其替换为警报并查看)
如果是这种情况,问题将通过纠正错误来解决