Как вставить идентификатор изображения в базу данных - PullRequest
1 голос
/ 27 мая 2019

Я получил форму с изображением и кнопкой отправки, которая отправляет user_id подключенного пользователя и picture_id изображения, которое они хотят сохранить, в таблицу с именем pins в базе данных MySQL.Я пытался прикрепить разные картинки от разных пользователей.Вставка user_id работает, но picture_id остается прежним (последнее изображение в таблице картинок), хотя я нажимаю на кнопку "Отправить" ниже разных картинок.Это из-за формы или я ссылаюсь на нее неправильно?

Я размещаю здесь php-код с изображением и кнопку, чтобы сохранить его.

<?php
session_start();
require_once __DIR__.'/connect.php';
$sUsername = $_SESSION['txtUsername'];

try {
    $stmt = $db->prepare('SELECT * FROM pictures INNER JOIN users ON users.user_id = pictures.user_id');
    $stmt->execute();
    $aRows = $stmt->fetchAll();

    foreach ($aRows as $aRow) {echo 
    "<form action='display.php' method='POST'>
    <div class=item><img src=images/$aRow->path>
    <span class=caption>Picture id:$aRow->picture_id</span>
    <input type='submit' name='submit'>
    </div>
    </form>";}

if (isset($_POST['submit'])) {
      try {
        $stmt = $db->prepare('SELECT * FROM users WHERE username = :sUserName');
        $stmt->bindValue(':sUserName', $sUsername);
        $stmt->execute();
        $row = $stmt->fetch();
        $iUserId = $row->user_id;

        $stmt = $db->prepare('INSERT INTO pins VALUES( null, :iUserId, :iPictureId )');
        $stmt->bindValue(':iUserId', $iUserId);
        $stmt->bindValue(':iPictureId', $aRow->picture_id);
        $stmt->execute();
      }catch (PDOEXception $ex){
        echo $ex;
      }
    }
  }catch (PDOEXception $ex){
    echo $ex;
  }

?>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...