嗨我是php的业余爱好者,我正在制作一个网站,我正在上传一张图片,将其存储在数据库中(带有一个自动增量变量),然后按降序显示在页面上,这样看起来可能是最新的在它下面的顶部和后面,我需要添加一个用于评论和用户名的文本框(因为我没有登录页面,因为我不会在某处托管它)
我知道如何将其添加到上传图片的部分,因为只有1张图片会上传
问题是如何显示它,我用过
while ($image = mysqli_fetch_assoc($sql))
{
echo image code....
}
现在我在显示图像的div中我将合并2个文本框和evertime while while循环显示来自dB的值相应但是当我想在上传后编辑文本框时1图像,如何知道正在编辑哪个文本框,因为每个文本框都有相同的文本框名称
我应该比较图像内容吗?因为图像自身以二进制格式存储?
但是我认为这是一个缓慢的过程
PLZ建议som的想法或方法这样做基本上它像instagram(但非常基本)....
答案 0 :(得分:0)
首先创建图像表:
图片表
image_id | URL
然后creare单独表格的图像评论:
images_comments 表
comment_id | image_id |用户|文字|日期
其中:
comment_id:整数,自动增量
image_id:整数,指的是图像表中的id user:应该是指向单独用户表的用户ID,但由于您没有登录系统,因此您可以将用户名存储为varchar。
text: varchar
日期:日期时间
显示图片+评论
$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);
}