2016-04-23 4 views
0

Ich habe 2 Datentabellen:
Tabelle 1zweite Datentabelle nicht zeigen "keine Daten verfügbar" -Nachricht

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

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

und die Arrays rufen meine php zu füllen Funktionen auf der Seite:

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

die Datentabellen werden mit JS erstellen

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 
}); 

});

Mein Problem ist, dass, wenn das erste Array ($ -Eigenschaften) leer zurückgibt die erste Tabelle die Meldung "Keine Daten in der Tabelle verfügbar" und auch wenn beide Arrays ($ Eigenschaften und $ Nachrichten) leer zeigen beide Tabellen zeigen die Nachricht "Keine Daten in der Tabelle verfügbar", aber wenn $ property array mit info und $ messages array return leer zurückkehrt, zeigt die zweite Tabelle (Meldungen) nicht die "Keine Daten in der Tabelle verfügbar" an und erzeugt ebenso <td> Elemente wie <td> Elemente in der ersten Tabelle (Eigenschaften). Kann mir jemand sagen, was die Ursache für dieses Verhalten sein könnte? Vielen Dank im Voraus

+0

Der zweite Aufruf sieht aus, als ob Sie $ Eigenschaften anstelle von $ Nachrichten referenzieren – Damon

Antwort

0

wahrscheinlich ist es, weil beide für jeden in Pop die $ -Eigenschaften verwenden. In der zweiten Schleife erhält es die $ prperties des ersten.

Versuchen Sie, $ properties = array() festzulegen, bevor Sie die Werte abrufen oder einen anderen Variablennamen verwenden.

Verwandte Themen