v2.5.2
Giriş yap

Verotnet foto ekleme+düzenleme(ÇOKLU) [ÇÖZÜLDÜ]

emmir2
490 defa görüntülendi

Merhaba Verotnet sınıfı ile çoklu foto kaydettirebiliyorum ama
Ürün Düzenlede sadece foto düzenleme işlemi yaptırabiliyorum Yukardaki resim de ekle dediğimde görsel eklettiremiyorum yardımcı olursanız sevinirim

Yapabildiğim bukadar

<?php
include 'verot.net.php';
$images = array();
foreach ($_FILES['gorsel'] as $k => $l) {
  foreach ($l as $i => $v) {
    if (!array_key_exists($i, $images))
      $images[$i] = array();
    $images[$i][$k] = $v;
  }
}

$sirasay = "-1";

foreach ($images as $image){
 
 $sirasay ++ ;

    $foo = new Upload($image);
    if ($foo->uploaded) {
        $foo->file_new_name_body = 'detay';
        $foo->process('../../img/urundetay/');
     if ($foo->processed) {
            $resim_adi = $foo->file_dst_name;
           $kaydet=$db->prepare("UPDATE resim SET
            gorsel=:gorsel,
            sira=:sira ");
           $insert=$kaydet->execute(array(
            'gorsel' => $resim_adi,
            'sira' => $_POST['sira']
            ));

        $foo-> Clean();
    } else {
        echo $foo->error;
    }
}
 }

?>
Cevap yaz
Cevaplar (7)
mstfazak
1293 gün önce

sorguları birbirinden ayır. görsel bilgilerini farklı tabloda ürün bilgilerini farklı tabloda tut yapmıssın galiba idler ile tabloları ilişkilendir. sayfayı post ettiğinde bilgileri yine güncellesin ama ürün görseli seçilmediyse ekleme işlemi yapmasın.
benim kurduğum mantık aşağıdaki gibi

if($_POST){
$urun_id = 1;
$baslik = $_POST['baslik'];
$fiyat = $_POST['fiyat'];

$guncelle = $db->prepare("update urunler set urun_baslik = ?, urun_fiyat = ? WHERE urun_id = ?");
$guncelle -> execute([$baslik,$fiyat,$urun_id]);



if($_FILES['resimler']['name']){ // eğer resim seçilmişse ekleyecek seçilmediyse pas geçecek

    $resimler = array();
    foreach ($_FILES['resimler'] as $k => $l) {
        foreach($l as $i => $v) {
            if (!array_key_exists($i, $resimler)) {
                $resimler[$i] = array();
            }
            $resimler[$i][$k] = $v;
        }
    }
    foreach ($resimler as $resim) {    
        $handle = new Upload($resim);
            if ($handle->uploaded) {
            $handle->allowed = array("image/png", "image/jpg", "image/jpeg");
            $handle->process('yüklenecek dizin');
                if ($handle->processed) {
                // sen zaten bunun aynısını yapmışssın şu arada görselleri kayıt etceksin o kadar. ürün bilgilerini yukarda güncelliyoruz
                    $gorsel_ekle = $db->prepare("insert into urun_gorselleri (urun_id,gorsel_adi) values (?,?)");
                    $gorsel_ekle->execute([$urun_id,$handle->file_dst_name]);
                }
                $handle->clean();
            }
        }
    }
}

emmir2
1293 gün önce

Hocam discord varmı

emmir2
1293 gün önce

Ekle diyince file inputu çıkıyor görsel eklediğimde veritbanı kaydı yapmıyor çünkü POST edilen sayfada UPDATE işlemi mevcut INSERT INTO yaptığımda görsel ekleniyor ama bu seferde günelleme işlemi olmuyor ikilemdeyim mantık kuramadım

mstfazak
1293 gün önce

toplu görsel yüklediğinde diğer görsellerin ismini mi kayıt edemiyorsun ? daha detaylı yazarsan yardımcı olabilirsem olayım

emmir2
1293 gün önce

Hocam orasını yapıyorum sıkıntı yok orda veriyi veritabanına kayıt ettiremiyorum

mstfazak
1293 gün önce

hocam bi tane buton ekle müsait bir yere

<a href="#" class='btn btn-primary' id="input_ekle">İnput Ekle</a>

<div id="gorseller"></div>

daha sonra bu butona click fonksiyonu yazacaksın burada her tıkladında yeni bitane input ekleyecek alt alta burada dikkat etmen gereken yer input isminin sonunda [] olması lazım dizi belirtiyorsun

$('#input_ekle').click(function () {
$('#gorseller').append('<input class="" type="file" name="resimler[]">');
}

daha sonra diğer resimleri nasıl toplu olarak yüklediysen aynı şekilde yüklüyorsun en basit haliyle bu şekilde oluyor

emmir2
1293 gün önce

Yokmu yardımcı olacak birileri