Как вывести аватар в комментарий
Подскажите пожалуйста в таком вопросе: Как мне вывести аватар пользователя в его комментарий?
Есть две таблицы, topic2 и users.
Структура users: id, login, name, pass, avatar.
Структура topic2: id, title, description, nameauthor, regdate.
Связаны эти таблицы между собой по name в users и nameauthor в topic2
Данные из topic2 выводятся с помощью функции:
//функция вывода страницы поста
function getPostsTopicTwo($post_id) {
global $mysqli;
$sql = "SELECT * FROM topic2 WHERE id = ".$post_id;
$result = mysqli_query($mysqli, $sql);
$postTopicTwoGet = mysqli_fetch_assoc($result);
return $postTopicTwoGet;
}
//выводятся данные сюда
$postGetAddTopicTwo = getPostsTopicTwo($post_id);
<div id="h1">
<h1><?=$postGetAddTopicTwo['title']?></h1>
</div>
<div id="post_page">
<div id="author_block">
<img src="<?=$postGetAddTopicTwo['img']?>" alt="">
<a href="/profileuser?name=<?=$postGetAddTopicTwo['nameauthor']?>"><p id="name_author"><?=$postGetAddTopicTwo['nameauthor']?></p></a>
<p>Пользователь</p>
<p>Регистрация</p>
<p>Репутация</p>
</div>
<div id="author_post">
<p id="dateadd">Дата добавления: <?=$postGetAddTopicTwo['regdate']?></p>
<br>
<hr>
<br>
<?=$postGetAddTopicTwo['description']?>
</div>
</div>
Функция выводит текст поста, автора и дату создания из таблицы topic2. А как вывести аватар автора (пользователя) из другой таблицы с названием users, где лежит ссылка на аватар у каждого пользователя?
Как в зависимости от того, какое имя у автора, выводить именно его картинку из таблицы users?
Ответы (1 шт):
Если я тебя правильно понял, то можно сделать так.
Сделав первый запрос к таблице topic2, в поле $postGetAddTopicTwo['nameauthor'] по идеи у тебя имя которое ты хочешь найти в таблице user.
Далее пишешь второй запрос, которой обращается к таблице user и выбирает в ней строку в которой name= $postGetAddTopicTwo['nameauthor'].
Примерно так это может выглядеть.
//функция вывода страницы поста
function getPostsTopicTwo($post_id) {
global $mysqli;
$sql = "SELECT * FROM topic2 WHERE id = ".$post_id;
$result = mysqli_query($mysqli, $sql);
$postTopicTwoGet = mysqli_fetch_assoc($result);
return $postTopicTwoGet;
}
$postGetAddTopicTwo = getPostsTopicTwo($post_id);
/*
Добавляем функцию которая обращается к таблице users
и выбираем user.name=topic2.nameauthor
*/
function getPostsAvatar($post_name) {
global $mysqli;
$sql = "SELECT * FROM users WHERE name = ".$post_name;
$result = mysqli_query($mysqli, $sql);
$postTopicTwoGet = mysqli_fetch_assoc($result);
return $postTopicTwoGet;
}
/*
Вызываем функцию getPostsAvatar и в нее передаем значение
nameauthor полученное в переменной из предыдущего запроса
*/
$postGetPostsAvatar=getPostsAvatar($postGetAddTopicTwo['nameauthor']);
/*
В $postGetPostsAvatar['avatar'] должен быть выдан нужный аватар
*/
echo($postGetPostsAvatar['avatar']);