2014-04-02 32 views
1


有人可以幫我解決我的配置文件中有用戶消息,它只顯示最後一條消息,我將如何顯示該用戶的所有消息。爲什麼只輸入最後一條消息

下面是代碼我已經:

<?php 
    $message_list = mysql_query("SELECT * FROM `messages`"); 
    while($get_message = mysql_fetch_array($message_list)) { 
     $message_subject = $get_message['subject']; 
     $message_body = $get_message['body']; 
     $message_from = $get_message['from_user']; 
     $message_date = $get_message['date']; 
     $message_to  = $get_message['to_user']; 
     } 
     if($message_to === $user_data['username']) { 


       echo 
       ' 
       <center> 
       <table border="2" bordercolor="" style="background-color:" width="85%" cellpadding="3" cellspacing="3"> 
         <tr> 
          <td width="15%"><center>From</center></td> 
          <td width="20%"><center>Date/Time</center></td> 
          <td><center>Message</center></td> 
          <td width="15%"><center>Reply</center></td> 
          <td width="7%"><center>Delete</center></td> 
         </tr> 
       </table> 
       </center>'; 
       echo 
       ' 
       <center> 
       <table border="1" bordercolor="" style="background-color:" width="85%" height="35px" cellpadding="3" cellspacing="3"> 
         <tr> 
          <td width="15%"><center>'. $message_from .'</center></td> 
          <td width="20%"><center>'. $message_date .'</center></td> 
          <td><center><br>'. $message_body .'<br></center><br></td> 
          <td width="15%"><center>Reply</center></td> 
          <td width="7%"><center><form><input type="checkbox" name="delete"></form></center></td> 
         </tr> 
       </table> 
       </center>'; 
     } else { 
      echo '<center>you have no messages</center>'; 
     } 
    ?> 

其所有顯示的最後一條消息進入不是全部。

+1

你需要把內環路您的HTML代碼中的其外部的循環,使最後的結果將顯示 –

+0

感謝您@MKhalidJunaid什麼一個數字我是我錯過了}在結束 – HelpingHand

回答

1

問題while循環你提前結束了,試試這個代碼,而不是你的

<?php 
     $message_list = mysql_query("SELECT * FROM `messages`"); 
     while($get_message = mysql_fetch_array($message_list)) { 
      $message_subject = $get_message['subject']; 
      $message_body = $get_message['body']; 
      $message_from = $get_message['from_user']; 
      $message_date = $get_message['date']; 
      $message_to  = $get_message['to_user']; 

      if($message_to === $user_data['username']) { 


        echo 
        ' 
        <center> 
        <table border="2" bordercolor="" style="background-color:" width="85%" cellpadding="3" cellspacing="3"> 
          <tr> 
           <td width="15%"><center>From</center></td> 
           <td width="20%"><center>Date/Time</center></td> 
           <td><center>Message</center></td> 
           <td width="15%"><center>Reply</center></td> 
           <td width="7%"><center>Delete</center></td> 
          </tr> 
        </table> 
        </center>'; 
        echo 
        ' 
        <center> 
        <table border="1" bordercolor="" style="background-color:" width="85%" height="35px" cellpadding="3" cellspacing="3"> 
          <tr> 
           <td width="15%"><center>'. $message_from .'</center></td> 
           <td width="20%"><center>'. $message_date .'</center></td> 
           <td><center><br>'. $message_body .'<br></center><br></td> 
           <td width="15%"><center>Reply</center></td> 
           <td width="7%"><center><form><input type="checkbox" name="delete"></form></center></td> 
          </tr> 
        </table> 
        </center>'; 
      } else { 
       echo '<center>you have no messages</center>'; 
      } 
} 
     ?> 
+0

謝謝你@SagarPanchal什麼是數字我是我錯過了在結束 – HelpingHand

1

只需要移動一個支架,它應該工作!

<?php 
$message_list = mysql_query("SELECT * FROM `messages`"); 
while($get_message = mysql_fetch_array($message_list)) { 
    $message_subject = $get_message['subject']; 
    $message_body = $get_message['body']; 
    $message_from = $get_message['from_user']; 
    $message_date = $get_message['date']; 
    $message_to  = $get_message['to_user']; 
    //DELETED BRACKET HERE 
    if($message_to === $user_data['username']) { 


      echo 
      ' 
      <center> 
      <table border="2" bordercolor="" style="background-color:" width="85%" cellpadding="3" cellspacing="3"> 
        <tr> 
         <td width="15%"><center>From</center></td> 
         <td width="20%"><center>Date/Time</center></td> 
         <td><center>Message</center></td> 
         <td width="15%"><center>Reply</center></td> 
         <td width="7%"><center>Delete</center></td> 
        </tr> 
      </table> 
      </center>'; 
      echo 
      ' 
      <center> 
      <table border="1" bordercolor="" style="background-color:" width="85%" height="35px" cellpadding="3" cellspacing="3"> 
        <tr> 
         <td width="15%"><center>'. $message_from .'</center></td> 
         <td width="20%"><center>'. $message_date .'</center></td> 
         <td><center><br>'. $message_body .'<br></center><br></td> 
         <td width="15%"><center>Reply</center></td> 
         <td width="7%"><center><form><input type="checkbox" name="delete"></form></center></td> 
        </tr> 
      </table> 
      </center>'; 
    } else { 
     echo '<center>you have no messages</center>'; 
    } 

} //PUT IT HERE 
?> 

但只是作爲一個警告這將輸出「你有沒有消息」每次出現在系統中的消息,即使它是不是給用戶!我只想改變你的查詢,包括基於用戶數據的WHERE條款

$username = $user_data['username']; 
    $message_list = mysql_query("SELECT * FROM `messages` WHERE `to_user` = '$username'"); 
+0

謝謝@ Chitowns24我會補充說:在 – HelpingHand

+0

不客氣! – Chitowns24

相關問題