Mysqli_query查看所有用户的最后一张图片

时间:2020-02-05 08:35:03

标签: php mysql

我对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
        }
        ?>

Screenshot table database and result

1 个答案:

答案 0 :(得分:0)

而不是使用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
}