Как вывести аватар в комментарий

Подскажите пожалуйста в таком вопросе: Как мне вывести аватар пользователя в его комментарий?

Есть две таблицы, 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']);

→ Ссылка