По id-то да вади аватара и коментарите.

joorkataa

Registered
Значи направил съм го като се напише коментар да ти записва id-то на местото на полето author и искам в темата да показва колко коментара има потребителя тоест да събира всички еднакви id-та от полето author
И ако може по id-то да вади името на потребителя от таблицата users полето name и ако може и аватарите да вади те се намират в таблицата users полето avatars
Таблицата на форума е forumtutorial_posts а полето където записва id-тата на потребителите е author

Ето кода





<?php
$session = $_SESSION['name'];
if($session == null){
echo '';
}else{
$name = $_SESSION['name'];
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my = mysql_fetch_array($do);
$id = $my['id'];
$name = $my['name'];}
?>


<?php
if(!isset($_SESSION['name'])) {
echo ' Не си логнат.';
} else
{
include "connect.php"; //mysql db connection here
$id=$_GET['id'];
print "<link rel='stylesheet' href='forum.css' type='text/css'>";
print "<A href='index.php?a=post'><img src='images/forum/post.gif' alt='Създайте нова тема' border='0' ></a><A href='index.php?a=reply&id=$id'><img src='images/forum/reply.gif' alt='Създайте нова тема' border='0'><br>";
print "<table class='maintable'>";
print "<tr class='headline'><td width=20%>Автор</td><td width=80%>Съобщение</td></tr>";
$gettopic="SELECT * from forumtutorial_posts where postid='$id'";
$gettopic2=mysql_query($gettopic) or die("Could not get topic");
$gettopic3=mysql_fetch_array($gettopic2);
print "<tr class='mainrow'><td valign='top'>$gettopic3[author]</td><td vakign='top'>Темата е пусната на $gettopic3[showtime]<br><hr>";
$message=strip_tags($gettopic3['post']);
$message=nl2br($message);
print "$message<hr><br>";
print "</td></tr>";
$getreplies="Select * from forumtutorial_posts where parentid='$id' order by postid asc"; //getting replies
$getreplies2=mysql_query($getreplies) or die("Could not get replies");
while($getreplies3=mysql_fetch_array($getreplies2))
{
print "<tr class='mainrow'><td valign='top'>$wtf $getreplies3[author]</td><td vakign='top'>Отговорил на $getreplies3[showtime]<br><hr>";
$message=strip_tags($getreplies3['post']);
$message=nl2br($message);
print "$message<hr><br>";
print "</td></tr>";
}
print "</table>";
}
?>
 
Ами селектни си от юзър таблицата потребителя с ID, което съвпада с това на автора. Така ще разбереш, кой го е написал. И ти препоръчам си направиш някой class защото нищо не разбрах.
И защо по даволите правиш променливи от вида:


Код:
$sql = "SELECT * FROM users WHERE name = '$name'"; 
$do = mysql_query($sql); 
$my = mysql_fetch_array($do); 
$id = $my['id']; 
$name = $my['name'];}

А не от този вид:

Код:
$query = mysql_query("SELECT * FROM users WHERE name = '$name'");
$my = mysql_fetch_array($query);

И вече си използваш... $my - а ти правиш за всеки параметър променлива. Логиката се губи.


На теб ти трябва нещо подоно ако не са лъжа, промени си, това, което ти трябва!
Код:
$query = mysql_query("SELECT `user_username`, `user_id` FROM `users_table_get` WHERE `id`=".$my['author']);
 
Ако искаш аватара да се показва във профила на потребителя ще стане по този начин:

Ето пример:

Код:
<?php
$id = (int)$_GET['id'];
$rs = mysql_query('SELECT * FROM users WHERE id='.$id.'');
while($row = mysql_fetch_assoc($rs))
{
   echo '
   Аватар: <img src='.$row['avatar'].'>
   
   А на долу другите неща!
   ';
}

?>
 

Back
Горе