第二个数据表没有显示"没有数据可用"信息

时间:2016-04-23 21:04:59

标签: javascript php datatables

我有2个数据表:
表1

<table id="properties_list" class="table">
  <thead>
    <tr class="backend_tab_header">
        <th>Status</th>
        <th>Photo</th>
        <th>Property ID</th>
        <th>Address</th>
        <th>Date Created</th>
        <th>Owner</th>  
    </tr>
  </thead>
  <tbody>
  <?php
    foreach ($properties as $property)
    {
        ?>
        <tr>
            <td><?php print $property["status"]; ?></td>
            <td class="pic_prop_table"><img class="img-responsive" src="<?php print $property["url"]; ?>" ></td>
            <td><?php print $property["prop_id"]; ?></td>
            <td><?php print $property["address"]; ?></td>
            <td><?php print $property["date_created"]; ?></td>
            <td><?php print $property["first_name"]; ?>&nbsp;<?php print $property["last_name"]; ?></td>
        </tr>
        <?php
    }

  ?>
  </tbody>
</table>

表2

<table id="messages_list" class="table">
                <thead>
                    <tr class="backend_tab_header">
                        <th>Property ID</th>
                        <th>Subject</th>
                        <th>Message</th>
                        <th>Received</th>
                    </tr>
                </thead>
                <tbody>
                <?php
                    foreach ($properties as $property)
                    {
                        ?>
                        <tr>
                            <td><?php print $messages["from_user"]; ?></td>
                            <td><?php print $messages["subject"]; ?></td>
                            <td><?php print $messages["message"]; ?></td>
                            <td><?php print $messages["date_sent"]; ?></td>
                        </tr>
                        <?php
                    }   
                ?>
                </tbody>
            </table>

并填充数组在页面顶部调用我的php函数:

$properties = $auth_user->getPropertiesByUser($_SESSION['user_session']);   
$messages = $auth_user->getMessages($_SESSION['user_session']);

使用JS

创建数据表
jQuery(document).ready(function() { 
jQuery('table#properties_list').DataTable( {
    //ajax:           '../ajax/data/arrays.txt',
    scrollY:        200,
    scrollCollapse: true,
    paging:         false
} );
jQuery('table#messages_list').DataTable( {
    //ajax:           '../ajax/data/arrays.txt',
    scrollY:        200,
    scrollCollapse: true,
    paging:         false
} );

});

我的问题是,当第一个数组($ properties)返回空时,第一个表显示消息&#34;表中没有可用的数据&#34;并且当两个数组($ properties和$ messages)都返回空时,两个表都显示消息&#34;表中没有可用数据&#34;但是当$ properties数组返回info时,$ messages数组返回空第二个表(消息)不显示&#34;表中没有数据&#34;并且还在第一个表(属性)中创建与<td>元素一样多的<td>个元素。谁能告诉我这种行为可能是什么原因? 提前致谢

1 个答案:

答案 0 :(得分:0)

可能是因为pop中的每个都使用了$ properties。在第二个循环中,它获得第一个的$ prperties。

尝试在获取值之前设置$ properties = array()或使用其他变量名称。