在帖子旁边显示用户图像

时间:2017-04-06 18:06:21

标签: php mysql

我已经在我的数据库中为我的用户创建了一个表格,我希望将其与我的表格一起用于我的页面上的私人消息。 我已经设置了我的页面,因此它列出了我的privat表中的不同meassages,其中包含名为usr1和usr2的消息线程的成员。在我的用户表中,我有我的用户名和图像列。

我已尝试以下选择usr1与users表中的username匹配的图像,以便我可以从正确的用户中选择图像,然后对us2执行相同的操作。 除了尝试匹配users.username和privat.usr1之外,我还尝试使用我的会话名称,所以我说users.username = $ _SESSION [" navn"] AND privat.usr1 = $ _ SESSION [ " navn"] 这是我的代码:

Subject

这种方式有效,因为我现在在线程中的所有消息旁边显示了usr1图像。然后重复代码如下

$navnbillede = $_SESSION['navn'];
$query = "SELECT billede FROM users, privat WHERE users.username=privat.usr1";
if ($stmt = mysqli_prepare($conn, $query)) {
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $billede);
while (mysqli_stmt_fetch($stmt)) {
$billede = $billede;
}
mysqli_stmt_close($stmt);
}

然后我尝试像这样设置图像:

  $navnbillede = $besked["usr2"];
  $query = "SELECT billede FROM users, privat WHERE users.username=privat.usr2";
  if ($stmt = mysqli_prepare($conn, $query)) {
  mysqli_stmt_execute($stmt);
  mysqli_stmt_bind_result($stmt, $billede2);
  while (mysqli_stmt_fetch($stmt)) {
  $billede2 = $billede;
  }
  mysqli_stmt_close($stmt);
  }

然后我运行以下内容:

if ($_SESSION['navn'] == $besked["usr1"])
{
  $image = $billede;
}
if ($_SESSION['navn'] !== $besked["usr2"])
{
  $image = $billede2;
}

这种方法非常好,但它实际上从未显示正确的图像。

作为参考,我的besked看起来像这样(并且也在运作):

while($besked2 = mysqli_fetch_array($query2))
{
?>
        <li><?php

        echo '<img src="'.$image.'"style="max-width:100px;max-height:100px;"/>';

?>
    <a style="text-decoration: none; font-weight: bold; color: white;" href="offentlig.php?id=<?php echo $besked2['usr1']; ?>"><?php echo $besked2['usr1']; ?></a>
        skrev: </br>
        <?php echo $besked2['besked']; ?><br/><br/>
      <?php echo date('m/d/Y H:i:s' ,$besked2['tid']); ?></li>
<?php
}

我尝试过使用 JOIN IN ,但这个我也无法工作......

1 个答案:

答案 0 :(得分:0)

找到一个有效的解决方案,在每条聊天消息旁边显示正确的图像:

while($besked2 = mysqli_fetch_array($query2))
    {
      $query = 'SELECT billede FROM users, privat WHERE privat.usr1=users.username AND id2='.$besked2["id2"].'';
      if ($stmt = mysqli_prepare($conn, $query)) {
      mysqli_stmt_execute($stmt);
      mysqli_stmt_bind_result($stmt, $billede);
      while (mysqli_stmt_fetch($stmt)) {
      $billede = $billede;
      }
      mysqli_stmt_close($stmt);
      }
    ?>
            <li><?php

            echo '<img src="'.$billede.'"style="max-width:100px;max-height:100px;"/>';

    ?>