从表

时间:2015-08-31 07:35:10

标签: javascript php mysql

我正在开发聊天应用。我将所有的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"] . "&nbsp;</td>" .
                "<td>" . $line["username"] . ":&nbsp;</td>" .
                "<td>" . $line["msg"] . "</td></tr>";
     }
     $msg=$msg . "</table>";

     echo $msg;

2 个答案:

答案 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"] . "&nbsp;</td>" .
            "<td>" . $line["username"] . ":&nbsp;</td>" .
            "<td>" . $line["msg"] . "</td></tr>";
 }
 $msg .= "</table>";

 echo $msg;

}