2014-11-01 53 views
0

我得到一個問題,因爲我測試的消息程序,但它不起作用。 我想顯示用戶的對話,但evreything保持空白。 這是代碼:試圖顯示來自數據庫的消息,但他們不顯示

<?php 
include_once('config.php'); 
include_once('functions.php'); 
$user_one = "13"; 
$db = safe_db_open($host, $gebruiker, $wachtwoord, $database); 
$query= ("SELECT u.user_id,c.c_id,u.username,u.email 
FROM conversation c, users u 
WHERE CASE 
WHEN c.user_one = '$user_one' 
THEN c.user_two = u.user_id 
WHEN c.user_two = '$user_one' 
THEN c.user_one= u.user_id 
END 
AND (
c.user_one ='$user_one' 
OR c.user_two ='$user_one' 
) 
Order by c.c_id DESC Limit 20"); 

$result = safe_query($db, $query); 

while($row = mysqli_fetch_array($result)) 
{ 
$c_id=$row['cid']; 
$user_id=$row['user_id']; 
$username=$row['username']; 
$email=$row['email']; 
$cquery= ("SELECT R.cr_id,R.time,R.reply FROM conversation_reply R WHERE R.c_id_fk='$c_id' ORDER BY R.cr_id DESC LIMIT 1"); 
$cresult = safe_query($db, $cquery); 
$crow= mysqli_fetch_array($cresult); 
$cr_id=$crow['cr_id']; 
$reply=$crow['reply']; 
$time=$crow['time']; 
echo "$time : $reply"; 
} 
+0

任何錯誤信息?你是否直接用客戶端檢查你的SQL語句? – andy 2014-11-01 09:50:45

+0

@andy那裏沒有顯示任何錯誤,這就是爲什麼我很困惑 – 2014-11-01 09:52:27

+0

查詢怎麼辦? – andy 2014-11-01 10:01:05

回答

0

試試這個:

<?php 
include_once('config.php'); 
include_once('functions.php'); 
$user_one = "13"; 
$db = safe_db_open($host, $gebruiker, $wachtwoord, $database); 
$query= ("SELECT u.user_id, c.c_id, u.username, u.email 
FROM conversation c, users u 
WHERE CASE 
WHEN c.user_one = '{$user_one}' 
THEN c.user_two = u.user_id 
WHEN c.user_two = '{$user_one}' 
THEN c.user_one = u.user_id 
END 
AND (
c.user_one = '{$user_one}' 
OR c.user_two ='{$user_one}' 
) 
ORDER BY c.c_id DESC LIMIT 20"); 

$result = safe_query($db, $query); 

while($row = mysqli_fetch_array($result)) 
{ 
$c_id = $row[cid]; 
$user_id = $row[user_id]; 
$username = $row[username]; 
$email = $row[email]; 
$cquery = ("SELECT R.cr_id, R.time, R.reply FROM conversation_reply R WHERE R.c_id_fk='{$c_id}' ORDER BY R.cr_id DESC LIMIT 1"); 
$cresult = safe_query($db, $cquery); 
$crow = mysqli_fetch_array($cresult); 
$cr_id = $crow[cr_id]; 
$reply = $crow[reply]; 
$time = $crow[time]; 
echo "$time : $reply"; 
} 
?> 

但是: 什麼是R $中cquery? 如果它應該是 「conversation_reply R」 像DB細胞的名字,試圖做到這一點:

包括functions.php中添加此之後:

$helpvar = "conversation_reply R"; 

,然後更改$ cquery這樣:

$cquery= ("SELECT R.cr_id, R.time, R.reply FROM '{$helpvar}' WHERE R.c_id_fk='$c_id' ORDER BY R.cr_id DESC LIMIT 1"); 
+0

也許有可能只是刪除R我猜 – 2014-11-01 10:21:18

+0

我覺得它的解決方案不是你說的,而是感謝你的幫助。 – 2014-11-01 10:23:29

+0

我剛剛在某個地方錯了點什麼這麼愚蠢...... – 2014-11-01 10:24:10