2011-06-04 64 views
0

我无法显示发送给用户的消息。显示从MySQL查询返回的记录

假设用户是我的表“消息”中的id列,我将如何显示发送给该用户的消息?

session_start(); 
require "bidcon.php"; 
$userfinal=$_SESSION['username']; 
$id = mysql_query("SELECT id FROM searchengine") or die(mysql_error()); 

// get the messages from the table. 
$get_messages = mysql_query(
    "SELECT messages_id FROM messages 
    WHERE to_user='$id' ORDER BY messages_id DESC") 
    or die(mysql_error()); 

$get_messages2 = mysql_query(  
    "SELECT * FROM messages   
    WHERE to_user='$id' ORDER BY messages_id DESC")  
    or die(mysql_error()); 

$num_messages = mysql_num_rows($get_messages); 
// display each message title, with a link to their content 
echo '<ul>'; 

for($count = 1; $count <= $num_messages; $count++) 
{ 
    $row = mysql_fetch_array($get_messages2); 

回答

0

我不是很清楚你为什么需要两个不同的查询。但是你的主要问题是如何显示记录。你会做while循环里面,像这样:

$rs = mysql_query("SELECT id FROM searchengine") or die(mysql_error()); 
$rec = mysql_fetch_assoc($rs); 
$id = $rec['id']; 

// get the messages from the table. 
$get_messages = mysql_query(
    "SELECT * FROM messages 
    WHERE to_user='$id' ORDER BY messages_id DESC") 
    or die(mysql_error()); 
$num_messages = mysql_num_rows($get_messages); 

// display each message title, with a link to their content 
echo '<ul>'; 
while($row=mysql_fetch_assoc($get_messages)){ 
    // do stuff with each row 
    echo "<li>".$row['somefield']."</li>"; 
} 
echo '</ul>'; 
+0

你需要用大括号关联数组,以便他们能够被解析成这样一个字符串。 – 2011-06-04 04:25:35

+0

'$ id = mysql_fetch_assoc($ rs)['id']'?我希望... :) – netcoder 2011-06-04 04:26:02

+0

@netcoder - 我唯一喜欢javascript的地方是它支持那种语法 – 2011-06-04 04:27:19

0

此:

$id = mysql_query("SELECT id FROM searchengine"); 

将使$id一个MySQL的资源,不是你要找的整数/字符串。

而是执行此操作:

$res = mysql_query("SELECT id FROM searchengine"); 
$id = mysql_result($res, 0); 
+0

仍然没有工作。你添加“或死”的部分? – mohamed 2011-06-04 04:24:28

+0

你可以,我只是把它从例子中删除了。尝试'var_dump' $'get_messages'并检查你在那里。 – netcoder 2011-06-04 04:25:31

+0

仍然没有工作。任何其他建议? – mohamed 2011-06-04 04:27:29