首页 > 解决方案 > 使用用户 ID 上传后无法在列表中显示图像

问题描述

我试图在上传后在列表中显示图像,我希望 php 使用数据库中的“user_id”获取图像。

这是我的php代码

<div class="container-two">
    <?php
        $image = "";
        $caption = "";
        if ("POST" == $_SERVER['REQUEST_METHOD']){
            $caption = $_POST['Caption'];
            $con = mysqli_connect("localhost","root","Y1qSYlz1iTNBMCfY","schedios");
            $query = "SELECT Img_dir FROM images WHERE user_id = '".$_SESSION['user_id']."' ";
            $result = mysqli_query($con,$query);
            $row = $result->mysqli_fetch_assoc();
            $image = $row['Img_dir'];
        }


    ?>

<div>
    <?php
            $array = array();

            while ($row =   mysqli_fetch_assoc($query) ) {

            $array['user_id'] = $row['user_id'];
            echo "<ul><li ><img src='$image' ></li></ul>";}

    ?>
</div>

我有一个设计师表,所以这是仪表板,用户可以在其中上传图像和显示,在此先感谢您的帮助。

标签: javascriptphphtml

解决方案


看来,你只是想在 li 中回显图像目录,所以在上传时尝试将完整的图像路径保存在数据库中,让我给你,示例代码给出一个想法。


  1. 接收用户从表单上传的图片:

           // image file directory
           $target = "images/".basename($image);
    
            $sql = "INSERT INTO images (user_id,image) 
                        VALUES 
                       ('".$_SESSION['user_id']."','$image')";
           // execute query
           mysqli_query($con, $sql);
    
          if (move_uploaded_file($_FILES['image']['tmp_name'], $target)) {
            $msg = "Image uploaded successfully";
           }else{
            $msg = "Failed to upload image";
         }
      }
      $result = mysqli_query($db, "SELECT * FROM images WHERE user_id = 
               '".$_SESSION['user_id']."' ");
      ?>
    

2.在无序列表上向用户显示图像:

<div id="content">
  <?php
    while ($row = mysqli_fetch_array($result)) {
      echo "<div id='img_div'>";
        echo "<ul><li>img src='images/".$row['image']."' /><li></ul>";
      echo "</div>";
    }
  ?>

推荐阅读