gpt4 book ai didi

php - 在 mysql 中回显图像 while 循环不起作用?

转载 作者:行者123 更新时间:2023-11-30 00:56:38 25 4
gpt4 key购买 nike

我设置了一个消息类型系统,我正在使用 mysql while 循环来回显表中的内容,并且还尝试回显用户个人资料图像,以便它出现在每个回显结果旁边。因为这是一个双向消息系统,所以它们是“to_user_id”/收件人和“from_user_id”/发件人的照片。这被编码为 $photo 和 $photo2

一切都工作正常,对于 while 循环回显的每个结果,图像都按预期输出,但是由于某种原因,第一个结果没有回显图像,而只是回显 div 容器

有谁知道这是为什么吗?这是我的代码,谢谢。

<div class="message_field">
<div class="inner_frame">

<?
$query_for_result=mysql_query("SELECT *
FROM ptb_messages
WHERE msg_id like '%".$query."%'");
$inbox_set = get_inbox();
while($data_fetch=mysql_fetch_array($query_for_result))
if (isset($_SESSION['user_id'])) {
if ($data_fetch['from_user_id'] == $_SESSION['user_id']){

{


$photo = "data/photos/{$data_fetch['from_user_id']}/_default.jpg";
if (!file_exists($photo)) {
$photo = "data/photos/0/_default.jpg";


}


$photo2 = "data/photos/{$data_fetch['to_user_id']}/_default.jpg";
if (!file_exists($photo2)) {
$photo2 = "data/photos/0/_default.jpg";


}



?>


<div class="message_bubble2">
<div class="msg_bubble_img"><a href=\"profile.php?id={$inbox['id']}\"><img src="<?php echo $photo ?>" width="40" heigh="40" border="0"></a></div><?php echo "".$data_fetch['content']."";?><div class="message_bubble_tail2"></div><div class="message_bubble_tail2_shadow"></div><div class="message_bubble_tail2_shadow_bottom"></div><div class="message_bubble_tail2_outline"></div>
<div class="message_bubble_footer2">
<?php
$inbox_set = get_inbox();
while ($inbox = mysql_fetch_array($inbox_set)) { ?>
<?php echo "".$review_from.""; ?>&nbsp;<?
$datetime1 = new DateTime();
$datetime2 = new DateTime ($reviews['date_added']);
$interval = $datetime1->diff($datetime2);
$mdhms = explode('-',$interval->format('%m-%d-%H-%i-%s'));
$labels = Array(' months', ' days', ' hours', ' minutes', ' seconds');
$i = 0;
foreach($mdhms as $t){
if($t > 0) break;
$i+=1;
}
echo "sent by you ".$t.$labels[$i]." ago"; } ?>
</div></div>


<?
}
}else{


if (isset($_SESSION['user_id'])) {
if ($data_fetch['from_user_id'] !== $_SESSION['user_id']){

{

?>


<div class="message_bubble"><div class="msg_bubble_img2"><a href=\"profile.php?id={$inbox['id']}\"><img src="<?php echo $photo2 ?>" width="40" heigh="40" border="0"></a></div><?php echo "".$data_fetch['content']."";?><div class="message_bubble_tail"></div><div class="message_bubble_tail_shadow"></div><div class="message_bubble_tail_shadow_bottom"></div><div class="message_bubble_tail_outline"></div>
<div class="message_bubble_footer">
<?php
$inbox_set = get_inbox();
while ($inbox = mysql_fetch_array($inbox_set)) { ?>
<?php echo "".$review_from.""; ?>&nbsp;<?
$datetime1 = new DateTime();
$datetime2 = new DateTime ($reviews['date_added']);
$interval = $datetime1->diff($datetime2);
$mdhms = explode('-',$interval->format('%m-%d-%H-%i-%s'));
$labels = Array(' months', ' days', ' hours', ' minutes', ' seconds');
$i = 0;
foreach($mdhms as $t){
if($t > 0) break;
$i+=1;
}
echo "sent from ".$inbox['from_user_id']." ".$t.$labels[$i]." ago"; } ?>
</div></div>


<? } } } } } ?>

最佳答案

尝试强制 SELECT 语句的顺序:-

<?

if (isset($_SESSION['user_id']))
{
$query_for_result=mysql_query("SELECT *, IF(from_user_id= '".mysql_real_escape_string($_SESSION['user_id'])."', 0, 1) AS ForceOrder
FROM ptb_messages
WHERE msg_id like '%".$query."%'
ORDER BY ForceOrder, ");
$inbox_set = get_inbox();
while($data_fetch=mysql_fetch_array($query_for_result))
{
if ($data_fetch['from_user_id'] == $_SESSION['user_id'])
{
{
$photo = "data/photos/{$data_fetch['from_user_id']}/_default.jpg";
if (!file_exists($photo))
{
$photo = "data/photos/0/_default.jpg";
}
$photo2 = "data/photos/{$data_fetch['to_user_id']}/_default.jpg";
if (!file_exists($photo2))
{
$photo2 = "data/photos/0/_default.jpg";
}
?>
<div class="message_bubble2">
<div class="msg_bubble_img"><a href=\"profile.php?id={$inbox['id']}\"><img src="<?php echo $photo ?>" width="40" heigh="40" border="0"></a></div><?php echo "".$data_fetch['content']."";?><div class="message_bubble_tail2"></div><div class="message_bubble_tail2_shadow"></div><div class="message_bubble_tail2_shadow_bottom"></div><div class="message_bubble_tail2_outline"></div>
<div class="message_bubble_footer2">
<?php
$inbox_set = get_inbox();
while ($inbox = mysql_fetch_array($inbox_set))
{ ?>
<?php echo "".$review_from.""; ?>&nbsp;<?
$datetime1 = new DateTime();
$datetime2 = new DateTime ($reviews['date_added']);
$interval = $datetime1->diff($datetime2);
$mdhms = explode('-',$interval->format('%m-%d-%H-%i-%s'));
$labels = Array(' months', ' days', ' hours', ' minutes', ' seconds');
$i = 0;
foreach($mdhms as $t)
{
if($t > 0) break;
$i+=1;
}
echo "sent by you ".$t.$labels[$i]." ago";
} ?>
</div></div>


<?
}
}
else
{
if (isset($_SESSION['user_id']))
{
if ($data_fetch['from_user_id'] !== $_SESSION['user_id'])
{
{
?>
<div class="message_bubble"><div class="msg_bubble_img2"><a href=\"profile.php?id={$inbox['id']}\"><img src="<?php echo $photo2 ?>" width="40" heigh="40" border="0"></a></div><?php echo "".$data_fetch['content']."";?><div class="message_bubble_tail"></div><div class="message_bubble_tail_shadow"></div><div class="message_bubble_tail_shadow_bottom"></div><div class="message_bubble_tail_outline"></div>
<div class="message_bubble_footer">
<?php
$inbox_set = get_inbox();
while ($inbox = mysql_fetch_array($inbox_set))
{ ?>
<?php echo "".$review_from.""; ?>&nbsp;<?
$datetime1 = new DateTime();
$datetime2 = new DateTime ($reviews['date_added']);
$interval = $datetime1->diff($datetime2);
$mdhms = explode('-',$interval->format('%m-%d-%H-%i-%s'));
$labels = Array(' months', ' days', ' hours', ' minutes', ' seconds');
$i = 0;
foreach($mdhms as $t)
{
if($t > 0) break;
$i+=1;
}
echo "sent from ".$inbox['from_user_id']." ".$t.$labels[$i]." ago";
} ?>
</div></div>


<?
}
}
}
}
}
}
?>

关于php - 在 mysql 中回显图像 while 循环不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20495277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com