所以我有以下一段代码。按特定顺序显示MySQL值
$sql = "SELECT TitreEvent, DescriptionEvent, MomentEvent, image_small, Confidentialite, ID, Creation, Username
FROM events_home
WHERE ID = '" . $dnn['IDcontact'] . "'
ORDER BY Creation DESC";
我的问题是,我想先显示最近的事件(无论用户是谁)。但现在,这些事件将根据用户(IDcontact)显示,并且新事件将放置在用户部分的开头。
因此,如果用户像表中的第二个一样,他将添加的新事件将显示在第一个用户的事件之后。但我希望看到列表顶部的最新事件,我不知道如何。
编辑所以有缺失的部分。我试图在第一个查询中加入SORT BY RAND(),但它并没有改变。它只把第一位用户放在第二位,第二位放在第一位。
<?php
$dn = mysql_query("SELECT IDcontact FROM contacts WHERE ID = '".$_SESSION['id']."'");
if(mysql_num_rows($dn)>0)
{
while ($dnn = mysql_fetch_array($dn)) {
$req = mysql_query("select TitreEvent, DescriptionEvent, MomentEvent, image_small, Confidentialite, ID, Creation, Username from events_home where ID = '".$dnn['IDcontact']."' ORDER BY Creation DESC");
if(mysql_num_rows($req)>0)
{
while($dnn = mysql_fetch_array($req)) {
?>
**没有**想法?阅读'WHERE'子句和'ORDER BY'子句。 – 2013-11-23 23:00:34
你说话要看我的查询,因为我有一个错误?或者你说我不能将WHERE和ORDER BY放在同一个查询中? – freddy
您仅包含的查询会显示单个用户标识的结果。如果您尝试为多个用户检索结果,请向我们显示完整的代码。 – jcsanyi