2015-04-04 56 views
0

在我的網站中,當用戶A連接到用戶B時,用戶互相連接,反之亦然。 我想在我的系統中執行的操作是向登錄用戶顯示一條消息,表明他有來自特定用戶的N封未讀消息。 我設法只爲相互關聯的用戶之一進行操作,並顯示相應的消息,如下所示。 enter image description here當只有兩個用戶互相連接時顯示回顯信息

我想要做的是爲每個相互連接的用戶都有相應的消息。

我的代碼來呼應這個消息是下面...

<?php 
$query = mysql_query("SELECT COUNT(status) FROM messages WHERE status='0' AND recip='$username' AND auth='$friend'");  
$row = mysql_fetch_row($query); 
$messagesStatus = $row[0]; 
$message= " <b><font color=red><p align='center'>You Have " . $messagesStatus . " Unread Messages From ".$friend."</font></b>"; 
$link_address = "members2.php?view=$friend" 
?> 
<a href="<?php echo $link_address;?>"> <?php echo $message; ?> </a> 

和代碼來檢查,如果你與其他用戶相互連接是這樣...

$mutual = array_intersect($followers, $following); 
$followers = array_diff($followers, $mutual); 
$following = array_diff($following, $mutual); 
$friends = FALSE; 

您能否幫助我爲每位互相聯繫的用戶回覆此消息?謝謝:)

回答

1

首先,mysql_query是一個過時的函數(見http://php.net/manual/fr/function.mysql-query.php),我邀請你看看pdo(我發現它也更容易使用)。回到你的問題,我想到的第一個想法是忘記你的SQL查詢中的$friend參數,並將其替換爲GROUP BY auth

這將給你一個數組,分組來自每個作者的消息數量。

最後,我對你的問題的查詢是:

$query = mysql_query("SELECT COUNT(status) as msg, auth FROM messages WHERE status='0' AND recip='$username' GROUP BY auth"); 

您應該然後使用mysql_fetch_array要經過您的查詢的結果。

while($row = mysql_fetch_array($query)) 
{ 
    $message= " <b><font color=red><p align='center'>You Have " . $row['msg'] . " Unread Messages From ".$row['auth']."</font></b>"; 
    $link_address = "members2.php?view=".$row['auth'] 
} 

看看PHP文檔中給出的靈感函數的例子。它有助於。

+0

這些是我得到http://prntscr.com/6pgtpw的錯誤,這就是我如何編寫你的代碼http://prntscr.com/6pgu05 – DogFace 2015-04-04 15:24:30

+0

哼,是的,我用mysql_fetch_array錯了。這裏是該函數的文檔:http://php.net/manual/fr/function.mysql-fetch-array.php 將請求更改爲:'「SELECT COUNT(status)as msg,auth as author FROM消息WHERE狀態= '0' 和RECIP = '$用戶名' GROUP BY AUTH 「' 而同時函數: 而($行= mysql_fetch_array($查詢) { $消息=」 <字體顏色= $ row ['msg']。「未讀消息來自」。$ row ['author']。「」; $ link_address =「members2.php?查看= $行['作者']「 } 它應該更好地工作(從文檔啓發) – TPouliquen 2015-04-04 15:32:31

+0

好的,謝謝你fo這篇文章,但仍不能找到我應該改變什麼 – DogFace 2015-04-04 15:34:28