我正在开发聊天应用。我将所有的msg存储到数据库中,但无法获取并显示管理员消息,该消息在人员1向管理员发送消息后发送回复给人。
$email = $_GET["q"];
if($email== "Admin@gmail.com")
{
$sql = "SELECT *, date_format(chatdate,'%d-%m-%Y %r') as cdt from chat order by username AND ID";
$sql = "SELECT * FROM (" . $sql . ") as ch order by ID";
$result = mysql_query($sql) or die('Query failed: ' . mysql_error());
// Update Row Information
$msg="<table border='0' style='font-size: 10pt; color: blue; font-family: verdana, arial;'>";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
$msg = $msg . "<tr><td>" . $line["cdt"] . " </td>" .
"<td>" . $line["username"] . ": </td>" .
"<td>" . $line["msg"] . "</td></tr>";
}
$msg=$msg . "</table>";
echo $msg;
答案 0 :(得分:1)
您可以使用order by
comma
所以而不是
order by username AND ID
使用
order by username,ID
也停止使用mysql,不推荐使用它。您可以使用mysqli or pdo
答案 1 :(得分:1)
我可以看到一些代码错误的问题,首先是我无法理解为什么你必须选择陈述(我根本看不出任何理由)加上你需要使用逗号分隔声明,而不是单词AND。您还错误地连接了$ msg变量。所以试试吧。而且,我不确定你的复制和粘贴是否有错,但你也错过了if语句的结束花括号。
$email = $_GET["q"];
if($email== "Admin@gmail.com")
{
$sql = "SELECT *, date_format(chatdate,'%d-%m-%Y %r') as cdt from chat order by username, ID";
$result = mysql_query($sql) or die('Query failed: ' . mysql_error());
// Update Row Information
$msg="<table border='0' style='font-size: 10pt; color: blue; font-family: verdana, arial;'>";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
$msg .= "<tr><td>" . $line["cdt"] . " </td>" .
"<td>" . $line["username"] . ": </td>" .
"<td>" . $line["msg"] . "</td></tr>";
}
$msg .= "</table>";
echo $msg;
}