php - Mysqli_query 查看所有用户的最后一张图片
问题描述
我有 mysqli_query 的问题。当最后一个用户上传图片时,所有用户都有最后一张图片。
我写的这段代码:
<?php
$query = mysqli_query($soci->con, "SELECT soci.*, (SELECT full_path FROM soci_media WHERE id = soci.immagine_profilo) AS immagine_profilo_file FROM soci");
while($socio = mysqli_fetch_assoc($query)) {
?>
<div class="col-sm-12 col-md-6 col-lg-4 single_socio pb-3">
<?php if($soci->user_data['immagine_profilo_file'] == '') { ?>
<img src="<?php echo get_site_url(); ?>/wp-content/themes/test/images/user.png" alt="" class="default_image img-fluid" />
<?php } else { ?>
<img src="<?php echo get_site_url(); ?>/uploads<?php echo $soci->user_data['immagine_profilo_file']; ?>" alt="" class="default_image img-fluid" />
<?php } ?>
<h2><?php echo $socio['nome']; ?> <?php echo $socio['cognome']; ?></h2>
</div>
<?php
}
?>
解决方案
而不是使用 select 子句来执行另一个查询(它将不起作用)。你应该加入表格。如果没有个人资料图像,我使用左连接来避免没有值。
SELECT soci.*,soci_media.full_path AS immagine_profilo_file
FROM soci
LEFT JOIN soci_media ON soci.immagine_profilo = soci_media.id
您需要像这样替换您的查询:
$query = mysqli_query($soci->con, "SELECT soci.*,soci_media.full_path AS immagine_profilo_file FROM soci LEFT JOIN soci_media ON soci.immagine_profilo = soci_media.id");
此外,您需要分配当前变量:
while($socio = mysqli_fetch_assoc($query)) {
?>
<div class="col-sm-12 col-md-6 col-lg-4 single_socio pb-3">
<?php if($socio['immagine_profilo_file'] == '') { ?>
<img src="<?php echo get_site_url(); ?>/wp-content/themes/test/images/user.png" alt="" class="default_image img-fluid" />
<?php } else { ?>
<img src="<?php echo get_site_url(); ?>/uploads<?php echo $socio['immagine_profilo_file']; ?>" alt="" class="default_image img-fluid" />
<?php } ?>
<h2><?php echo $socio['nome']; ?> <?php echo $socio['cognome']; ?></h2>
</div>
<?php
}
推荐阅读
- r - R中的过滤表
- docker - Docker compose 启动后运行 shell 命令
- sql - DolphinDB 语言不支持语法吗?
- javascript - JQuery 自动将 div 滚动到底部
- php - 有没有办法从 check.php 获取 POST 数据到 index.php 和Thanks.php?
- sql - 在 SQL 中使用 WHERE 条件,其中参数可以为 NULL
- c - c程序计算圆的面积
- wordpress - XPath:仅当同一节点中的值低于另一个值时选择元素
- json - 无法使用 luis 响应中的 json 路径提取意图和得分
- python - 如何让 cpython 显示正确的十六进制值