2013-06-26 61 views
-3

我创建了一个包含sender | message | sent_to 和PHP页面,显示消息在MySQL PHP选择相同的字段

mysql_connect("localhost", "root", ""); 
mysql_select_db("mydb"); 

$result = mysql_query("SELECT * FROM `msg`"); 
$num_rows = mysql_num_rows($result); 
while($info = mysql_fetch_array($result)){ 
$msg = $info['message']; 
echo "</br> $msg"; 
} 

它显示这是确定该表中的所有消息的表,但我想显示的消息,其中发件人是同一个发件人。 我希望找到一种方法来做到这一点! 谢谢:)

+0

添加'WHERE sender ='something''子句...?! – deceze

+0

发件人是发件人?你的意思是发件人是哪个人?然后使用“where sender = Xxx”并将Xxx更改为senderid/name /无论您保存在该颜色 – bish

+0

好吧,但我需要一种方式,无需选择发件人? –

回答

0

这是在黑暗中拍摄的。

mysql_connect("localhost", "root", ""); 
mysql_select_db("mydb"); 

$result = mysql_query("SELECT * FROM `msg` ORDER BY sender"); 
$sender = null; 

while($info = mysql_fetch_array($result)){ 
    $msgSender = $info['sender']; 

    if (isnull($sender) || $sender !== $msgSender) 
    { 
     echo "Messages for " . $msgSender; 
     $sender = $msgSender; 
    } 

    echo "</br> $info['message']"; 
} 
+0

这正是我需要的,但有一个问题,它的重复消息,但我希望消息标记在一个列表中不重复消息。真的很感谢你! @Jeremy Gallant –

0

一是只选择同一个发件人

$id = 1; 
$result = mysql_query("SELECT * FROM `msg` WHERE `sender` = '{$id}'"); 

然后,如果发件人,邮件和sent_to是数据库中的所有字段,然后只是这样做

while($info = mysql_fetch_array($result)){ 
    echo $info['sender'] . " " . $info['message'] . " " . $info['sent_to'] . "<br />"; 
} 
+0

这是伟大的,但有没有一种方式没有选择发件人? @ 32423hjh32423 –

0
$sender_id = 123; 
$result = mysql_query("SELECT * FROM `msg` WHERE `sender` = '{$sender_id}'"); 
+0

这是伟大的,但有没有办法没有选择发件人? @Chen Asraf –

+0

这只是一个例子,你可以设置发件人为任何你想要的 - 无论是当前登录用户的用户ID,或数据库中的值...等 – casraf