我需要在每行检索后添加换行符;
我试图以各种可能的方式添加
..没有运气..
while ($line = mysql_fetch_array($result))
{
?>
<style>
.whiteBackground { background-color:#F5ECCE;float:left;}
.grayBackground { background-color:#CED8F6; float:right;}
.date { font-size:10px; color:#627d79;float:right}
</style>
<?php
$sender=$line["sender"];
$classy=($sender == $uid)? 'whiteBackground': 'grayBackground';
$q=mysql_query("select * from users where u_id='$sender'");
$row=mysql_fetch_array($q);
$receiver=$row['firstname'];
//if($receiver!= $line["receiver"])
$msg = $msg . "<tr class='$classy'>" .
"<td>" . $receiver . ": </td>" .
"<td>" . $line["msg"] . "</td>"."<td class='date'>" . $line["chattime"] . "</td></tr>";
}
$msg=$msg . "</table>";
echo $msg;
我需要在每个发件人+ msg +时间之后添加一个休息时间//就像在通常的聊天中一样。
答案 0 :(得分:1)
您的问题来自float
声明。它们在您的代码中没用:
.whiteBackground { background-color:#F5ECCE;float:left;}
.grayBackground { background-color:#CED8F6; float:right;}
.date { font-size:10px; color:#627d79;float:right}
删除它们,它将按预期工作。
如果您使用<table>
和<tr>
,则代码中不需要它们。 <tr>
的默认行为是每次添加时都会创建一个新的“行”,但添加float
就会破坏此行为。
另外,按照 @bulforce 建议在循环之前移动你的CSS:你的代码会在你的文档中多次添加消息时添加它(如果有10条消息,css声明将被添加10次)。
<style type="text/css">
.whiteBackground { background-color:#F5ECCE; }
.grayBackground { background-color:#CED8F6; }
.date { font-size:10px; color:#627d79; }
</style>
<?php
while ($line = mysql_fetch_array($result))
{
// ...
}
?>
答案 1 :(得分:-1)
尝试在while循环中添加<tr><td colspan="3"> </td></tr>
之后的</tr>
答案 2 :(得分:-1)
首先考虑在循环之前移动css声明,没有必要将它放在循环体中。
第二个循环中的第二个查询也应该在循环之前移动并稍微重做。
现在问题,一个选项就是用div和span改变表格......就像这样:
<div class="message-row">
<span class="message-user">Name</span>
<span class="message-text">Message</span>
</div>
然后像以前一样设置样式,并将margin-bottom: 15px;
添加到消息行定义中。
答案 3 :(得分:-1)
before while
$msg="<table>";
Inside while
$msg.= "<tr class='$classy'>" in place of $msg = $msg . "<tr class='$classy'>"
Will work for you.
答案 4 :(得分:-1)
我通过用div标签替换表标签来解决它。 Thnku @bulforce;现在我将完全按照您的推荐。
$msg="<div>";
$date_temp="nil";
while ($line = mysql_fetch_array($result))
{
?>
<style>
.whiteBackground { background-color:#F5ECCE;float:left;}
.grayBackground { background-color:#CED8F6; float:right;}
.date { font-size:10px; color:#627d79;float:right}
</style>
<?php
$sender=$line["sender"];
$classy=($sender == $uid)? 'whiteBackground': 'grayBackground';
$q=mysql_query("select * from users where u_id='$sender'");
$row=mysql_fetch_array($q);
$receiver=$row['firstname'];
//if($receiver!= $line["receiver"])
/*if($date_temp!=$line["chatdate"]){
$date_temp=$line["chatdate"];
$msg=$msg.$line["chatdate"];
}*/
$msg = $msg . "<div class='$classy'>" . $receiver.": " . $line["msg"] ."<div class='date'>" . $line["chattime"] . "</div></div></br></br>";
}
$msg=$msg . "</div>";
echo $msg;