0

基本上,这段代码有效,但它以相同的颜色显示发送者和接收者我想要什么?我希望发件人颜色与收件人消息颜色不同

<?php

require_once 'cn.php';

session_start(); // startsession .line17 (username || usernameto='.$username.')

//messages sent or received by the $_SESSION or $_GET["ident"]..line 26


require_once 'protect.php';

$username=$_SESSION['UserID'];

$fiveMinutesAgo = time() - 1000;

$to=$_SESSION['UserTo'];

$sql = 'SELECT

    username, message_content,message_file, message_time,usernameto

        FROM

    messages

        WHERE

    message_time > ' . $fiveMinutesAgo . '

    and ((username='.$username.'

        and usernameto='.$to.') or (usernameto='.$username.'

        and username='.$to.'))

        ORDER BY
    message_time';

    $result = mysql_query($sql, $cn) or

    die(mysql_error($cn));

    //mysql_query ("Update messages set message_file= replace(message_file,' ','');


    while ($row = mysql_fetch_assoc($result)) {

    $hoursAndMinutes = date('g:ia', $row['message_time']);

    $mycontent=$row['message_content'];

    $myfile=$row['message_file'];

    $playfile="<A href=upload/$myfile> $myfile </A>";
/*************************************************************************************************/


    echo '<i><p style="font-family:arial;color:purple;font-size:15px;"><strong>' . $row['username']. '</strong>: <em>(' . $hoursAndMinutes . ')</em> ' . $playfile . $mycontent.'</i></p>';
}


?>
4

2 回答 2

0

假设$username您的列用户名包含用户 ID:检查是否$username$row['username']. 如果是,则您的消息来自发件人。

if ($row['username'] == $username)
    $color = 'red';
else
    $color = 'purple';

echo '<i><p style="font-family:arial;color:'.$color.';font-size:15px;"><strong>' . $row['username']. '</strong>: <em>(' . $hoursAndMinutes . ')</em> ' . $playfile . $mycontent.'</i></p>';

另外:此扩展自 PHP 5.5.0 起已弃用,将来将被删除。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。另请参阅 MySQL:选择 API 指南和相关的常见问题解答以获取更多信息。

http://www.php.net/manual/en/function.mysql-query.php

于 2013-02-04T22:32:19.357 回答
0

您需要知道发件人姓名何时与打开会话的人相同,如果发件人姓名为接收者

于 2013-02-04T22:32:51.203 回答