在 php 中动态添加或识别多个文本框或类似内容

adding or recognizing multiple textboxes or something like that in php dynamically


我是业余爱好者 php 并制作了一个网站,我正在上传图像,将其存储在数据库中(使用自动增量变量)并按降序显示在页面上所以它可能在顶部看起来是最新的,在它下面看起来是最新的,我需要添加一个文本框用于评论和用户名(因为我没有创建登录页面,因为我不会在某个地方托管它)
我知道如何将它添加到上传图片部分,因为只有 1 张图片会被上传
问题是怎么显示,我用过

while ($image = mysqli_fetch_assoc($sql))
{
echo image code....
}



现在我在 div 中显示图像,我将包含 2 个文本框,并且在 while 循环后每次都相应地显示来自 dB 的值,但是当我想编辑时上传超过 1 张图片后的文本框,如何知道正在编辑哪个文本框,因为每个文本框都有相同的文本框名称
我应该比较图像内容吗?因为图像本身是以二进制格式存储的?
但我想这会是一个缓慢的过程
请提出一些想法或方法来做到这一点
基本上它就像 instagram(但非常基本)....

首先创建图像table:


图片 table

image_id | url


然后为图片评论创建单独的table:


images_comments table

comment_id | image_id |用户 |文字 |日期


其中:

comment_id: integer , Auto Increment
image_id: integer referring to id in images table
user: should be user id referring to separate users table, but because you do not have login system you can store user name here as varchar.
text: varchar
date: datetime

显示图片+评论:

$sql = "SELECT * FROM images";

while ($image = mysqli_fetch_assoc($sql))
{
   $imageUrl = $image["url"];
   $imageID = $image["image_id"];

   //Show image:
   echo "<img src='$imageUrl ' />";

   //Get comments:
   $sql2 = "SELECT * FROM images_comments WHERE image_id=$imageID";
   while ($comment = mysqli_fetch_assoc($sql2))
   {
      $text = $comment["text"];
      $userName = $comment["user"];
      $date = $comment["date"];       
      //show username and comment date
      echo $userName . " " .$date . "<br>";
      //Show comment text:
      echo $text; 
   }
}


为图片添加评论
如果你想在每张图片下都有一个评论表单,那么在我们之前使用的 While 循环中添加以下代码:

while ($image = mysqli_fetch_assoc($sql))
{
    .......... previous code goes here .........

    //in the form we store imageID in hidden input field
    //so that we can know to which image the form belongs
    echo "<form method='post' action='page.php'>
             <input type='text' name='username'/>
             <textarea name='commentText'></textarea>
             <input type='hidden' name='imageID' value='$imageID'/>
             <input type='submit' name='submitComment' value='Submit'>
          </form>";

}


然后在page.php

if(isset($_POST["submitComment"]))
{
    $username = $_POST["username"];
    $text = $_POST["commentText"];
    $imageID = $_POST["imageID"];
    $date = date("Y-m-d H:i:s");

    $sql = "INSERT INTO images_comments (image_id,user,text,date) VALUES
            ($imageID,$username,$text,$date)";
    mysqli_query($con,$sql);
}