Загрузка Dropzone и SQL не имеет никакого эффекта - PullRequest
1 голос
/ 23 мая 2019

Похоже, что моя функция загрузки с использованием dropzone не позволяет добавлять новую строку в мой SQL или загружать реальную картинку. Суть в том, что он запускает дропзону, используя PHP при нажатии кнопки, а вставка SQL добавляет фотографию в таблицу при загрузке фотографии в папку.

  1. for_lease_photos.php (список единиц)

lease

  • клик по одному (зеленое дополнение) перенаправляет на страницу с фотографиями

    1. for_lease_photos_list.php

полный URL-адрес будет «for_lease_photos_list.php? I = 1», где i = 1 - это идентификатор (аренды) устройства

В таблице фотографий будут показаны только изображения с тем же арендным номером, что и на странице

photo

правильная таблица - это зона сброса, код ниже

        <div class="col-md-4 bg-color-white shadow border-radius">
          <div class="row bg-color-dark-gold border-top-radius">
            <div class="col-md-12 color-white section-title-bar">
              <span class="ion-image"></span>&nbsp;&nbsp;&nbsp; PHOTO
            </div>
          </div>
          <div class="col-md-12 spacer"></div>

          <div class="col-md-12">
            <form action="for_lease_sale_photos_upload.php" class="dropzone"></form>
          </div>

          <div class="col-md-12 spacer"></div>
        </div> 
  1. for_lease_sale_photos_upload.php

Эти коды должны сработать, когда я добавлю фотографию в зону сброса

<?php

  $routePath = "../";

  require_once($routePath . "_config/db.php");
    $dbConfig = new config_db();
    $db = $dbConfig->init();

  require_once($routePath . "_config/app.php");

  require_once($routePath . "_lib/c/Photo_Resizer.php");

  require_once($routePath . "_lib/c/slug.php");

  require_once($routePath . "_mc/Property.mc.php");
  $mcProperty = new Property_MC();

  $leaseid = $_GET['i'];

  $totalphotos = $mcProperty->SelectPhotoCount_ByLeaseId($db, $leaseid);
  $uploadnum = $totalphotos + 1;

  $ds = DIRECTORY_SEPARATOR;
  $storeFolder = $routePath.$imgPathLease;

  if (!empty($_FILES))
  {
    $tempFile = $_FILES['file']['tmp_name'];
    $targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds;
    $photosrc = 'detail-'.$leaseid.'-'.$uploadnum;
    $thumbsrc = 'thumb-'.$leaseid.'-'.$uploadnum;
    $targetFile =  $targetPath.$photosrc;
    move_uploaded_file($tempFile,$targetFile);

    $resizeObj = new resize($routePath.$imgPathLease.$photosrc);
    $resizeObj->saveImage($routePath.$imgPathLease.$photosrc, 80);
    $resizeObj->resizeImage(300, 300, 'crop');
    $resizeObj->saveImage($routePath.$imgPathLease.'thumb-'.$leaseid.'-'.$uploadnum, 80);

    $mcProperty->InsertLeasePhoto($db, $leaseid, $photosrc, $thumbsrc);
  }

?>

Отдельные коды

приведенные ниже коды являются отдельными и находятся в разных файлах, но они взаимодействуют с for_lease_photos_list.php :

$imgPathLease = 'img/_uploads/lease';

<?php

Class Property_MC {

      public function SelectPhotoCount_ByLeaseId($db, $leaseid) {
      $stmt = $db->prepare(
        " SELECT COUNT(leaseid)
          FROM for_lease_photos
          WHERE
            leaseid = :leaseid "
      );

      $stmt->bindValue(':leaseid', $leaseid, PDO::PARAM_INT);
      $stmt->execute();
      $row = $stmt->fetchAll(PDO::FETCH_ASSOC);

      return $row;
      }

    public function InsertLeasePhoto($db, $leaseid, $photosrc, $thumbsrc) {
     $stmt = $db->prepare(
       " INSERT INTO for_lease_photos
           (leaseid, photosrc, thumbsrc)
         VALUES
           (leaseid = :leaseid, photosrc = :photosrc, thumbsrc = :thumbsrc) "
     );

     $stmt->bindValue(':leaseid', $leaseid, PDO::PARAM_INT);
     $stmt->bindValue(':photosrc', $photosrc, PDO::PARAM_STR);
     $stmt->bindValue(':thumbsrc', $thumbsrc, PDO::PARAM_STR);
     $stmt->execute();
     $rowAffected = $stmt->rowCount();

     return $rowAffected;
    }
}
?>

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

...