2013-03-31 2 views
0

Я пытаюсь создать групповую чат/систему сообщений в PHP и HTML. Это получилось неплохо, но я хотел изменить систему, чтобы сделать ее более подробной.PHP Форма сообщения

Я пытался сделать так, чтобы он отображал сообщения, сделанные другими пользователями в одну сторону, и сообщения, сделанные вами другим, вроде iMessage для iPhone.

Вот мой PHP код ...

<div class="groupchat span9" style="height: 200px; overflow: auto;"> 

<?php 

    /* 
    * LETS GET THESE MESSAGES PRINTED 
    */ 

    $qry=mysql_query("SELECT * FROM chat ORDER BY chat.id ASC", $con); 

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

     if(!$row['name']) { 
      echo '<div class="span5 place-left">'; 
       echo '<ul class="replies">'; 
        echo '<li class="bg-color-orange">'; 
         echo '<b class="sticker sticker-left sticker-color-orange"></b>'; 
         echo '<div class="avatar"><img src="../content/images/myface.jpg" /></div>'; 
         echo '<div class="reply">'; 
          echo '<div class="date">'.$row['time'].'</div>'; 
          echo '<div class="author">'.$row['name'].'</div>'; 
          echo '<div class="text">'.$row['message'].'</div>'; 
         echo '</div>'; 
        echo '</li>'; 
       echo '</ul>'; 
      echo '</div>'; 
     } 

     if($row['name'] == $_SESSION['name']) { 
      echo '<div class="span5 place-right">'; 
       echo '<ul class="replies">'; 
        echo '<li class="bg-color-blue">'; 
         echo '<b class="sticker sticker-right sticker-color-blue"></b>'; 
         echo '<div class="avatar"><img src="../content/images/myface.jpg" /></div>'; 
         echo '<div class="reply">'; 
          echo '<div class="date">'.$row['time'].'</div>'; 
          echo '<div class="author">'.$row['name'].'</div>'; 
          echo '<div class="text">'.$row['message'].'</div>'; 
         echo '</div>'; 
        echo '</li>'; 
       echo '</ul>'; 
      echo '</div>'; 
     } 

    } 

?> 

<a name="groupchatbottom"></a> 

</div> 

У меня возникли проблемы, пытаясь получить его, что он будет отображать сообщения, arn't сделанные вами. Я ценю любую помощь! Спасибо всем за вашу помощь заранее!

+1

Вы знаете, вы можете просто сделать один 'echo' открытым' ' 'и поставить все теги и строки там, а сочинительство эхо' echo' 20 раз. - просто совет – samayo

+0

Lol Я знаю, я просто так делаю это по какой-то причине. – Fearless

+0

Вы действительно должны использовать идентификаторы пользователей вместо имен. Кроме того, для любви к Богу не используйте 'mysql_query': http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php – element119

ответ

1

Просто используйте if-else заявление:

if($row['name'] == $_SESSION['name']) { 
    // post belongs to author 
    echo '<div class="author-message"> 

    </div>'; 
} 
else{ 
    echo '<div class="user-message"> 

    </div>';  
} 
Смежные вопросы