2011-06-04 60 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