2014-11-01 3 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

+0

@andy там не появляется никаких ошибок, поэтому я запутался –

+0

Как насчет запросов? – andy

ответ

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», как имя ячейки в БД, попробуйте сделать следующее:

после включают 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 i guess –

+0

Я нахожу решение, которое не то, что вы сказали, но спасибо за помощь. –

+0

Я только что придумал что-то не так где-то так глупо ... –

Смежные вопросы