echo "<p class='view_comm'>Комментарии:</p>";
$tmp35 = mysql_query ("SELECT * FROM `messages` WHERE author='$login' ORDER BY id DESC");
if (mysql_num_rows($tmp35) > 0)
{
while ($messages35 = mysql_fetch_assoc ($tmp35))
{
$result350 = mysql_query("SELECT id,avatar FROM `users` WHERE login='".$messages35['author']."'");
$messages350 = mysql_fetch_array($result350);
echo '<table width="95%" align="center" class="post_div">
<tr class="">
<td>
<p class="view_name">
<a href="profile.php?id='.$messages350['id'].'" class="view_name">'.'<img class="mini" align="left" src='.$messages350['avatar'].'>'.$messages35['author'].'</a>
</p>
<p class="view_adds">'."Дата: ".$messages35["date"].'</p>
<p class="view_adds">'.$messages35['text'].'</p>
</td>
</tr>
</table><br>';
}}
else
{ echo "<p>Здесь пока ни кто не писал..</p>";}}
как правильно сформулировать запрос, что бы комментарий выводился именно у того пользователя которому написали. А то у меня получается что комментарий появляется у всех пользователей если написать одно сообщение одному из пользователей и видно оно только у того кто писал..(Может чего не хватает, и нет конкретного описания, если нужно будет выложу) Есть идея одна,(правильно не правильно) сделать так
SELECT * FROM `messages` WHERE author='$login' && poluchatel="$id того пользователя на странице которого ты находишься" ORDER BY id DESC
Спустя 11 минут, 11 секунд (24.08.2010 - 21:12) IamSmorodin написал(а):
А можно увидеть структуру таблицы, в которой хранятся комментарии? туда записывается id получателя?
Спустя 2 минуты, 31 секунда (24.08.2010 - 21:14) Onehp написал(а):

вот пожалуйста
нет туда записывается логин получателя
Спустя 5 минут, 11 секунд (24.08.2010 - 21:19) IamSmorodin написал(а):
Мне кажется, лучше записывать id получателя, чем логин, хотя могу ошибаться.
Если id, то делаешь запрос:
здесь $id_user - id пользователя, которому адресованы сообщения.
На объективность не претендую
Если id, то делаешь запрос:
$query = mysql_query("SELECT * FROM `messages` WHERE poluchatel='".intval($id_user)."' ORDER BY id DESC") or die(mysql_error())
здесь $id_user - id пользователя, которому адресованы сообщения.
На объективность не претендую

Спустя 1 минута, 48 секунд (24.08.2010 - 21:21) Onehp написал(а):
IamSmorodin, Извини за глупый вопрос, как сделать что бы записывался ID? Я растроен..
Спустя 1 минута, 56 секунд (24.08.2010 - 21:23) IamSmorodin написал(а):
Onehp
расстраиваться не надо
Поменяй сначала в БД значение varchar на int, а потом покажи мне кусок кода, где записывается логин получателя.
Хотя лучше не меняй... а добавь новое поле в БД.
расстраиваться не надо

Хотя лучше не меняй... а добавь новое поле в БД.
Спустя 6 минут, 42 секунды (24.08.2010 - 21:30) Gradus написал(а):
записывался ID? Я растроен..
зачем же , можно и по логину просто многие привыкли к id , но это не столь важно.Выбор каждого, но я всё же за id ибо быстрей обрабатывается.
Спустя 6 минут, 49 секунд (24.08.2010 - 21:36) IamSmorodin написал(а):
Gradus
Согласен, я тоже просто привык к ID
Согласен, я тоже просто привык к ID

Спустя 24 минуты, 22 секунды (24.08.2010 - 22:01) Onehp написал(а):
<?php session_start();
include ("bd.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Hip-Hop Neftekamsk</title>
</head>
<body>
<table width="780" border="0" align="center" cellpadding="0" cellspacing="0" class="main_border">
<?php include ("bloki/header.php"); ?>
<tr>
<td><table width="900" border="0" cellspacing="0" cellpadding="0">
<tr>
<?php include ("bloki/left.php"); ?>
<td valign="top">
<?php include ("bloki/search_user.php"); ?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="36%" height="81" valign="top"><p>
<?php
session_start();
include ("bd.php");
if (isset($_GET['id'])) {$id =$_GET['id']; } //id "хозяина" странички
else
{ exit("Вы зашил на страницу без параметра!");} //если не указали id, то выдаем ошибку
if (!preg_match("|^[\d]+$|", $id)) {
exit("<p>Неверный формат запроса! Проверьте URL</p>");//если id не число, то выдаем ошибку
}
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
//если существует логин и пароль в сессиях, то проверяем, действительны ли они
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result2 = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password' AND activation='1'");
$myrow2 = mysql_fetch_array($result2);
if (empty($myrow2['id']))
{
//Если не действительны (может мы удалили этого пользователя из базы за плохое поведение)
exit("<p>Вход на эту страницу разрешен только зарегистрированным пользователям!</p>");
}
}
else {
//Проверяем, зарегистрирован ли вошедший
exit("<p>Вход на эту страницу разрешен только зарегистрированным пользователям!</p>"); }
$result = mysql_query("SELECT * FROM users WHERE id='$id'");
$myrow = mysql_fetch_array($result);//Извлекаем все данные пользователя с данным id
if (empty($myrow['login'])) { exit("<p>Пользователя не существует! Возможно он был удален.</p>");} //если такого не существует
?>
<?php
if ($myrow['login'] == $login) {
//Если страничка принадлежит вошедшему, то выводим данные и личные сообщения
print <<<HERE
<form class="search_p" action='update_user.php' method='post' enctype='multipart/form-data'>
<p><img alt='Фото' src='$myrow[photo]'><br></p>
</form></p>
HERE;
}
else
{
//если страничка чужая, то выводим только некторые данные и форму для отправки личных сообщений
print <<<HERE
<p><img alt='Фото' src='$myrow[photo]'></p>
<form action='post.php' method='post'>
HERE;
}
?>
</p></td>
<td width="64%" valign="top"><p>
<p class="view_last"><?php echo $myrow['login']; ?></p>
<?php
$result8 = mysql_query("SELECT * FROM users WHERE id='$id'");
$myrow8 = mysql_fetch_array($result8);
if ($myrow8['sex'] == 2 or $myrow8['sex']=='Мужской'){$myrow8['sex'] = 'Мужской';}
else {$myrow8['sex'] = 'Женский';}
echo
'
<p><strong>Имя:</strong> '.$myrow8['name'].'</p>
<p><strong>Пол:</strong> '.$myrow8['sex'].'</p>
<p><strong>О себе:</strong> '.$myrow8['myself'].'</p>
<p><strong>Город:</strong> '.$myrow8['home'].'</p>
<p><strong>Любимые исполнители:</strong> '.$myrow8['singers'].'</p>
<p><strong>ISQ:</strong> '.$myrow8['isq'].'</p>
<p><strong>Телефон:</strong> '.$myrow8['phone'].'</p>
'
?>
</p></td>
</tr>
</table>
<p>
<?php
if ($myrow['login'] == $login) {
echo "<p class='view_comm'>Комментарии:</p>";
$tmp34 = mysql_query ("SELECT * FROM `messages` WHERE poluchatel='$login' ORDER BY id DESC");
if (mysql_num_rows($tmp34) > 0)
{
while ($messages34 = mysql_fetch_assoc ($tmp34))
{
$result340 = mysql_query("SELECT id,avatar FROM `users` WHERE login='".$messages34['author']."'");
$messages340 = mysql_fetch_array($result340);
echo '<table width="95%" align="center" class="post_div">
<tr class="">
<td><p class="view_name"><a href="profile.php?id='.$messages340['id'].'" class="view_name">'.'<img class="mini" align="left" src='.$messages340['avatar'].'>'.$messages34['author'].'</a></p>'.'<p class="view_adds">'."Дата: ".$messages34["date"].'</p><p class="view_adds">'.$messages34['text'].'</p>'.'<a class="mes_del" href="drop_post.php?id='.$messages34['id'].'">Удалить</a></td>
</tr>
</table><br>';
}
}
else
{
//если сообщений не найдено
echo "<p>Здесь пока ни кто не писал..</p>";
}}
else
{
//если страничка чужая, то выводим только данные и форму для отправки личных сообщений
print <<<HERE
<p class='view_last'>Оставить сообщение:</p>
<p><textarea class="profile_edit" cols='43' rows='4' name='text'></textarea></p>
<input type='hidden' name='poluchatel' value='$myrow[login]'>
<input type='hidden' name='id' value='$myrow[id]'></p>
<p><input class='search_k' type='submit' name='submit' value='Отправить'></p>
</form>
HERE;
echo "<p class='view_comm'>Комментарии:</p>";
$tmp35 = mysql_query ("SELECT * FROM `messages` WHERE author='$login' ORDER BY id DESC");
if (mysql_num_rows($tmp35) > 0)
{
while ($messages35 = mysql_fetch_assoc ($tmp35))
{
$result350 = mysql_query("SELECT id,avatar FROM `users` WHERE login='".$messages35['author']."'");
$messages350 = mysql_fetch_array($result350);
echo '<table width="95%" align="center" class="post_div">
<tr class="">
<td><p class="view_name"><a href="profile.php?id='.$messages350['id'].'" class="view_name">'.'<img class="mini" align="left" src='.$messages350['avatar'].'>'.$messages35['author'].'</a></p>'.'<p class="view_adds">'."Дата: ".$messages35["date"].'</p><p class="view_adds">'.$messages35['text'].'</p></td>
</tr>
</table><br>';
}}
else
{ echo "<p>Здесь пока ни кто не писал..</p>";}}
?>
</p>
</tr>
</table>
</td>
</tr>
</table></td>
</tr>
<?php include ("bloki/footer.php"); ?>
</table>
</body>
</html>
выложил весь код, кажется я ни где не указываю получателя
Спустя 12 минут, 7 секунд (24.08.2010 - 22:13) Onehp написал(а):
помоги пожалуйста

Спустя 8 часов, 57 минут (25.08.2010 - 07:10) IamSmorodin написал(а):
Onehp
Не тот кусок. Мне надо, где пользователь создает комментарий.
Не тот кусок. Мне надо, где пользователь создает комментарий.
Спустя 1 час, 51 минута, 56 секунд (25.08.2010 - 09:02) linker написал(а):
Правил на коленке, мог где-то и опечататься
<?php
php session_start();
include ("bd.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Hip-Hop Neftekamsk</title>
</head>
<body>
<table width="780" border="0" align="center" cellpadding="0" cellspacing="0" class="main_border">
<?php include ("bloki/header.php"); ?>
<tr>
<td><table width="900" border="0" cellspacing="0" cellpadding="0">
<tr>
<?php include ("bloki/left.php"); ?>
<td valign="top">
<?php include ("bloki/search_user.php"); ?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="36%" height="81" valign="top"><p>
<?php
session_start();
include ("bd.php");
$id = isset($_GET['id']) ? abs((integer)$_GET['id']) : 0
if (!$id) { die("Ошибка короче!"); } //если не указали id, то выдаем ошибку
$userid = 0;
if (isset($_SESSION['login']) && isset($_SESSION['password']))
{
//если существует логин и пароль в сессиях, то проверяем, действительны ли они
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result2 = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password' AND activation='1'");
if ($myrow2 = mysql_fetch_assoc($result2))
{
$userid = $myrow2['id'];
$avatar = $myrow2['avatar'];
}
}
if (!userid)
{
//Проверяем, зарегистрирован ли вошедший
die("<p>Вход на эту страницу разрешен только зарегистрированным пользователям!</p>");
}
$result = mysql_query("SELECT * FROM users WHERE id='$id'");
if ($myrow = mysql_fetch_assoc($result))
{
$viewuserlogin = $myrow['login'];
$viewuseravatar = $myrow['avatar'];
}
else
die("<p>Пользователя не существует! Возможно он был удален.</p>"); //если такого не существует
if ($myrow['login'] == $login)
{
//Если страничка принадлежит вошедшему, то выводим данные и личные сообщения
echo '<form class="search_p" action="update_user.php" method="post" enctype="multipart/form-data">
<p><img alt="Фото" src="' . $myrow['photo'] . '"><br></p>
</form></p>';
}
else
{
//если страничка чужая, то выводим только некторые данные и форму для отправки личных сообщений
echo '<p><img alt="Фото" src="' . $myrow[photo] . '"></p>
<form action="post.php" method="post">';
}
echo '</p></td>
<td width="64%" valign="top"><p>
<p class="view_last">' . $myrow['login'] . '</p>';
$result8 = mysql_query("SELECT * FROM users WHERE id='$id'");
$myrow8 = mysql_fetch_array($result8);
$myrow8['sex'] = ($myrow8['sex'] == 2 || $myrow8['sex']=='Мужской') ? 'Мужской' : 'Женский';
echo '
<p><strong>Имя:</strong> '.$myrow8['name'].'</p>
<p><strong>Пол:</strong> '.$myrow8['sex'].'</p>
<p><strong>О себе:</strong> '.$myrow8['myself'].'</p>
<p><strong>Город:</strong> '.$myrow8['home'].'</p>
<p><strong>Любимые исполнители:</strong> '.$myrow8['singers'].'</p>
<p><strong>ISQ:</strong> '.$myrow8['isq'].'</p>
<p><strong>Телефон:</strong> '.$myrow8['phone'].'</p>
</p></td>
</tr>
</table>
<p>';
<?php
if ($myrow['login'] == $login)
{
echo "<p class='view_comm'>Комментарии:</p>";
$Sql = "SELECT usr.id as userid, usr.avatar, msg.id as msgid, msg.author, msg.date, msg.text FROM `messages` as msg "
. "LEFT JOIN `users` as usr ON usr.login = msg.poluchatel "
. "WHERE msg.poluchatel = '$login' ORDER BY msg.id DESC";
$tmp34 = mysql_query($Sql);
while ($messages34 = mysql_fetch_assoc($tmp34))
{
$result340 = mysql_query("SELECT id,avatar FROM `users` WHERE login='".$messages34['author']."'");
$messages340 = mysql_fetch_assoc($result340);
echo '<table width="95%" align="center" class="post_div">
<tr class="">
<td>
<p class="view_name">
<a href="profile.php?id='.$messages34['userid'].'" class="view_name"><img class="mini" align="left" src='.$messages34['avatar'].'>'.$messages34['author'].'</a>
</p>
<p class="view_adds">'."Дата: ".$messages34["date"].'</p><p class="view_adds">'.$messages34['text'].'</p>
<a class="mes_del" href="drop_post.php?id='.$messages34['msgid'].'">Удалить</a></td>
</tr>
</table><br>';
}
if (!mysql_num_rows($tmp34)) //если сообщений не найдено
echo "<p>Здесь пока ни кто не писал..</p>";
}
else
{
//если страничка чужая, то выводим только данные и форму для отправки личных сообщений
echo '<p class="view_last">Оставить сообщение:</p>
<p><textarea class="profile_edit" cols="43" rows="4" name="text"></textarea></p>
<input type="hidden" name="poluchatel" value="' . $myrow[login] . '">
<input type="hidden" name="id" value="' . $myrow[id] . '"></p>
<p><input class="search_k" type="submit" name="submit" value="Отправить"></p>
</form>
<p class="view_comm">Комментарии:</p>';
$Sql = "SELECT msg.author, msg.date, msg.text FROM `messages` as msg "
. "WHERE msg.author = '$login' and msg.poluchatel = '$viewuserlogin' ORDER BY msg.id DESC";
$tmp35 = mysql_query($Sql);
while ($messages35 = mysql_fetch_assoc ($tmp35))
{
echo '<table width="95%" align="center" class="post_div">
<tr class="">
<td>
<p class="view_name">
<a href="profile.php?id='.$userid.'" class="view_name"><img class="mini" align="left" src="'.$avatar.'">' . $messages35['author'] . '</a>
</p>
<p class="view_adds">Дата: ' . $messages35["date"] . '</p>
<p class="view_adds">' . $messages35['text'] . '</p></td>
</tr>
</table><br>';
}
if (!mysql_num_rows($tmp35))
echo "<p>Здесь пока ни кто не писал..</p>";
}
?>
</p>
</tr>
</table>
</td>
</tr>
</table></td>
</tr>
<?php include ("bloki/footer.php"); ?>
</table>
</body>
</html>
Спустя 10 минут, 24 секунды (25.08.2010 - 09:12) twin написал(а):
1. Код дырявый.
2. Вот это не сработает
3. Топикстартеру явно сюда.
2. Вот это не сработает
else
{
//если страничка чужая, то выводим только некторые данные и форму для отправки личных сообщений
print <<<HERE
<p><img alt='Фото' src='$myrow[photo]'></p>
<form action='post.php' method='post'>
HERE;
}
3. Топикстартеру явно сюда.
Спустя 24 минуты, 54 секунды (25.08.2010 - 09:37) Onehp написал(а):
twin, Да нет это место работает
