mysqli — добавление или распознавание нескольких текстовых полей или чего-то подобного в php динамически

Привет
Я — любитель php и создаю веб-сайт, на котором я загружаю изображение, сохраняю его в базе данных (с переменной автоинкремента) и отображаю его на странице в порядке убывания, поэтому оно может показаться как верхним, а последним под ним, i нужно добавить текстовое поле для комментария и имени пользователя (потому что я не сделал страницу входа, так как я не собираюсь где-то ее размещать)
я знаю, как добавить его для раздела загрузки изображения, так как только 1 изображение будет загружено
проблема в том, как отобразить его, я использовал

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

Теперь, когда я в div для отображения изображения, я включу 2 текстовых поля, и в любое время после того, как пока цикл не будет отображать значения в дБ соответственно, но когда я хочу редактировать текстовое поле после загрузки более 1 изображения, как узнать, какое текстовое поле редактируется как каждый текстовое поле будет иметь то же имя текстового поля
я должен сравнить содержимое изображения? как само изображение хранится в двоичном формате?
но это будет медленный процесс, я думаю,
Пожалуйста, предложите сом идею или метод сделать это
в основном это как Instagram (но очень простой) ….

0

Решение

Сначала создайте таблицу изображений:


изображений Таблица

image_id | URL


Затем создайте отдельную таблицу для изображений комментариев:


images_comments Таблица

comment_id | image_id | пользователь | текст | Дата


Куда:

comment_id: целое число, автоинкремент
image_id: целое число, относящееся к идентификатору в таблице изображений
пользователь: должен быть идентификатор пользователя, ссылающийся на отдельную таблицу пользователей, но поскольку у вас нет системы входа в систему, вы можете сохранить имя пользователя здесь как varchar.
текст: 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);
}
0

Другие решения

Других решений пока нет …