1

我有一个表,我通过 PHP 使用来自 MySQL 的数据填充该表。

<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>
4

5 回答 5

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->”调用有问题。

于 2013-11-04T15:47:56.327 回答
2

您至少有一个错误,即在

<?php ?>

身体:

<tr style="cursor:pointer" onclick="gp(\''.$row['name'].'\')">

=>

<tr style="cursor:pointer" onclick="gp('<?php echo $row['name']; ?>')">
于 2013-10-29T13:35:29.593 回答
1

会话启动方法应该在php文件的第一行请写

 <?php
 session_start();
 ?> 
于 2013-11-06T13:17:52.167 回答
0

我假设表中有行,正如你所说的“控制台没有抛出任何与数据表相关的错误”

在这种情况下,您可能需要检查不相关的错误。如果出现错误,它可能会停止所有进一步的脚本执行。

你应该检查这条线$('#tab').dataTable();是否被执行(你可以用 alert 替换它并查看)

如果是这种情况,问题将通过纠正错误来解决

于 2013-11-06T23:00:10.490 回答
0

尝试使用 while 循环,而不是 foreach。

    while($row = mysql_fetch_array($result)) {

          echo "<tr style='cursor:pointer' onclick='gp('".$row['name']."')'>
                    <td> ".$row['name']." </td> 
                </tr>";
    }
于 2013-11-02T13:02:32.993 回答