[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Профайлы + комменарии
Onehp

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 написал(а):
user posted image

вот пожалуйста

нет туда записывается логин получателя

Спустя 5 минут, 11 секунд (24.08.2010 - 21:19) IamSmorodin написал(а):
Мне кажется, лучше записывать id получателя, чем логин, хотя могу ошибаться.
Если id, то делаешь запрос:


$query = mysql_query("SELECT * FROM `messages` WHERE poluchatel='".intval($id_user)."' ORDER BY id DESC") or die(mysql_error())


здесь $id_user - id пользователя, которому адресованы сообщения.
На объективность не претендую smile.gif

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

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

Хотя лучше не меняй... а добавь новое поле в БД.

Спустя 6 минут, 42 секунды (24.08.2010 - 21:30) Gradus написал(а):
записывался ID? Я растроен..

зачем же , можно и по логину просто многие привыкли к id , но это не столь важно.Выбор каждого, но я всё же за id ибо быстрей обрабатывается.

Спустя 6 минут, 49 секунд (24.08.2010 - 21:36) IamSmorodin написал(а):
Gradus
Согласен, я тоже просто привык к ID smile.gif

Спустя 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 написал(а):
помоги пожалуйста wink.gif

Спустя 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. Вот это не сработает
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, Да нет это место работает smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.