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

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

$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);
}


这种工作原理是因为我现在在线程中的所有消息旁边都显示了usr1映像,然后重复如下代码

  $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;
}


然后运行以下命令:

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
}


这绝对可以正常工作,但实际上从不显示正确的图像。

供参考,我的请求如下所示(并且还在运行):

$query = mysqli_query($conn, 'select title, usr1, usr2 from privat where id="'.$id.'" and id2="1"');
$besked = mysqli_fetch_array($query);


我尝试使用JOIN IN进行调查,但是我也无法完成工作。

最佳答案

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

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;"/>';

    ?>

关于php - 在帖子旁边显示用户图片,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43262687/

10-11 14:41
查看更多