我已经在数据库中为我的用户创建了一个表,我希望将其与表一起用于页面上的私人消息。
我已经设置好页面,因此它列出了我的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/