if ($myrow['login'] == $login2) {
echo "Личные сообщения:<br>";
$tmp = mysql_query("SELECT * FROM messages WHERE poluchatel='$login' ORDER BY id DESC");
$messages = mysql_fetch_array($tmp);
if (!empty($messages['id'])) {
do
{
$author = $messages['author'];
$result4 = mysql_query("SELECT avatar,id FROM users WHERE login='$author'");
$myrow4 = mysql_fetch_array($result4);
if (!empty($myrow4['avatar'])) {
$avatar = $myrow4['avatar'];
}
else {$avatar = "avatars/net-avatara.jpg";}
printf("
<table>
<tr>
<td><a href='page.php?id=%s'><img alt='Aватар' src='%s'></a></td>
<td>Автор: <a href='page.php?id=%s'>%s</a><br>
Дата: %s<br>
Сообщение:<br>
%s<br>
<a href='drop_post.php?id=%s'>Удалить</a>
</td>
</tr>
</table><br>
",$myrow4['id'],$avatar,$myrow4['id'],$author,$messages['date'],$messages['text'],$messages['id']);
}
while($messages = mysql_fetch_array($tmp));
}
else
{
echo "Сообщений нет";
}
}
Спустя 20 минут, 56 секунд (9.01.2012 - 21:18) GET написал(а):
в конце запросов поставьте or die(mysql_error());
т.е. здесь
и здесь
и скажите какая ошибка появилась :)
т.е. здесь
$tmp = mysql_query("SELECT * FROM messages WHERE poluchatel='$login' ORDER BY id DESC")or die(mysql_error());
и здесь
$result4 = mysql_query("SELECT avatar,id FROM users WHERE login='$author'") or die(mysql_error());
и скажите какая ошибка появилась :)
Спустя 11 минут, 28 секунд (9.01.2012 - 21:29) Pulse написал(а):
Может в этой строчке должен быть $login2 ?
$tmp = mysql_query("SELECT * FROM messages WHERE poluchatel='$login2' ORDER BY id DESC");
Спустя 40 минут, 59 секунд (9.01.2012 - 22:10) Yoda написал(а):
Цитата (Pulse @ 9.01.2012 - 18:29) |
Может в этой строчке должен быть $login2 ?$tmp = mysql_query("SELECT * FROM messages WHERE poluchatel='$login2' ORDER BY id DESC"); |
Да, спасибо. Это помогло
Спустя 2 минуты, 38 секунд (9.01.2012 - 22:13) Yoda написал(а):
А как проверить, что имеется непрочитанное сообщение?
Спустя 35 минут, 52 секунды (9.01.2012 - 22:49) Pulse написал(а):
Цитата |
А как проверить, что имеется непрочитанное сообщение? |
Для этого в таблице должно например быть поле `readed` со значениями:
0 - не прочитано
1 - прочитано
А потом просто выбираете из таблицы все сообщения, с условием проверки этого поля:
$tmp = mysql_query("SELECT * FROM messages WHERE poluchatel='$login2' AND `readed` = 0 ORDER BY id DESC");
Спустя 14 минут, 58 секунд (9.01.2012 - 23:04) Yoda написал(а):
А вот когда пишут "У вас есть 1 новое сообщение", как проверить бд?
Спустя 10 минут, 31 секунда (9.01.2012 - 23:14) Pulse написал(а):
Цитата |
А вот когда пишут "У вас есть 1 новое сообщение", как проверить бд? |
Примерно так:
$tmp = mysql_query("SELECT COUNT(*) AS `new_messages` FROM messages WHERE poluchatel='$login2' AND `readed` = 0 ORDER BY id DESC");
$newMessages = mysql_result($tmp, 0, 'new_messages');
echo "У вас есть {$newMessages} новых сообщения";
_____________
Идеальной защиты не существует...