Привет
Я — любитель php и создаю веб-сайт, на котором я загружаю изображение, сохраняю его в базе данных (с переменной автоинкремента) и отображаю его на странице в порядке убывания, поэтому оно может показаться как верхним, а последним под ним, i нужно добавить текстовое поле для комментария и имени пользователя (потому что я не сделал страницу входа, так как я не собираюсь где-то ее размещать)
я знаю, как добавить его для раздела загрузки изображения, так как только 1 изображение будет загружено
проблема в том, как отобразить его, я использовал
while ($image = mysqli_fetch_assoc($sql))
{
echo image code....
}
Теперь, когда я в div для отображения изображения, я включу 2 текстовых поля, и в любое время после того, как пока цикл не будет отображать значения в дБ соответственно, но когда я хочу редактировать текстовое поле после загрузки более 1 изображения, как узнать, какое текстовое поле редактируется как каждый текстовое поле будет иметь то же имя текстового поля
я должен сравнить содержимое изображения? как само изображение хранится в двоичном формате?
но это будет медленный процесс, я думаю,
Пожалуйста, предложите сом идею или метод сделать это
в основном это как Instagram (но очень простой) ….
Сначала создайте таблицу изображений:
изображений Таблица
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);
}
Других решений пока нет …