2013-10-29 103 views
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> 
+2

什么解决的情况下,是你得到的错误。 –

+2

检查控制台是否有错误 –

+0

我看不到$ obj对象 - 你能发布完整的代码吗? –

回答

2

您至少有一个错误,那就是外

<?php ?> 

body:

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

=>

<tr style="cursor:pointer" onclick="gp('<?php echo $row['name']; ?>')"> 
+0

啊,这是我的错误!但数据表仍然没有出现。 – Anon

0

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

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

      echo "<tr style='cursor:pointer' onclick='gp('".$row['name']."')'> 
        <td> ".$row['name']." </td> 
       </tr>"; 
    } 
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->”调用都会出错。

1

会话开始梅索德应该在php文件 的第一行好心写

<?php 
session_start(); 
?> 
0

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

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

如果这条线$('#tab').dataTable();都执行你应该检查(你可以只用警报替换它,看看)

,如果是这样的问题,将通过纠正古都错误