v2.5.2
Giriş yap

sql yan yana dizi 2

burak001
715 defa görüntülendi

geçen gün sql ile ajaxtan gelen dosyaları veritabanına yan yana kaydetmeyi sormuştum
sorunum çözülmedi bazı arkadaşlar implode ile yan yana virgül ile ayır dediler onu da başaramadım
kodlar şöyle;

  $gelen_resim = count($_FILES["resim"]["tmp_name"]);
    for($i=0;$i<$gelen_resim;$i++){
   $uzanti = substr($_FILES["resim"]["name"][$i],-4,4);
   $dosyaAdi = uniqid().$uzanti;
   $yol = array("gezi_res/".$dosyaAdi);
  
   //move_uploaded_file($_FILES["resim"]["tmp_name"][$i],$yol);
  
}  echo $col = implode(",",$yol);
Cevap yaz
Cevaplar (11)
burak001
1355 gün önce

teşekkürler

qplot
1355 gün önce
$degisken=array(); // dongu dısına koy

dongu burada {

$degisken[]=$gelenveri;

}

tarzında dene

sonra arraya alacak onuda 


$birlestir=implode(",",$degisken);

boyle dene
alex
1356 gün önce
      // tek satırda tutmak için değişken tanımlıyoruz ve bu değişkenin üstüne ekleyerek gideceğiz -- $photoloop
                  $photoloop ='';
// kaç tane fotoğraf varsa o kadar döndürüyoruz
        for ($i=0;$i<$count;$i++){
        // kontrol
            if (!empty($_FILES["file"]["name"][$i])) {
      
                //yeni değişkenimize isim tanımlıyoruz
                $fileName = uniqid(); 
                $fileName = $fileName.'.jpg';
                // yüklenecek dizini ayarlıyoruz
                $road = 'upload/'.$year.'/'.$month.'';
                $targetFilePath = $road.'/'.$fileName;
                $fileType = pathinfo($targetFilePath, PATHINFO_EXTENSION);

                // Kabul edilen uzantılar
                $allowTypes = array('jpg', 'png', 'jpeg');
                if (in_array($fileType, $allowTypes)) {
                    // Yüklendiği yer
                    if (move_uploaded_file($_FILES["file"]["tmp_name"][$i], $targetFilePath)) {
                        // burada yukarıda tanımladığımız değişkene ekleme yaparak döngümüz devam ediyor
                        $photoloop .=$targetFilePath;
                        // burada da sonuncusuna virgül atmasın diye, döngü sayısının resim sayısına eşit olmadığı koşulu ekliyoruz
                        if($i != $count) {
                           $photoloop .=',';
                        }
                     
                    }
                } else {
                    $array['error'] = 'Resim yüklenemedi.';
                }
            }
        }
        
        // buradan sonra da bunu edit olarakta kullanacağın için böyle bir insert işlemi daha önce yapıldıysa eğer update yani
        if(CheckInsertId($insert_id)>0){
            // tablo update işlemi geliyor
        }else {
        
            // tablo insert işlemi geliyor
        }
    
    

    // Bunları yaptıktan sonra şu şekilde ekrana çıktı verebilirsin çektiğin sorguyu yazdığını varsayıyorum
    
    // tablodaki verileri yazdığım fonksiyonla değişkene aktardık
    $getData = GetDataPhotos($data_id);
    // dizi içindeki resimleri değişkene aktarıyoruz
    $photos = $getPhoto['photos'];
    // veritabanında 1.jpg,2.jpg,3.jpg diye kayıtlı olan sütundaki resimleri explode yardımıyla virgüllerinden ayırarak yeni bir dizi oluşturduk
    $photos = explode(",", $photos);
    
    // bu diziyi de foreach yardımıyla döndürüyoruz
    foreach($photos as $key => $value){
        
        echo '<img src="'.$site['config']['url'].'/'.$value.'">';
    
    }
    
    
    
    

burak001
1356 gün önce

hayır sorun o değil zaten sorun foreach le bunları nasıl okutacağım $veri["resim_adi"]; olarak
çektiğim veriyi nasıl parçalayacağım

erhanturksen
1357 gün önce

Mantığını anlatayım kısaca örnek olarak

resim_tablosu

id
resim_adi
gonderilen_id

yukarı da ki örnek resimleri kayıt altına alacağın tablo ve sütunların olsun, burada gonderilen_id sütununa ilişkilendireceğin id'yi göndereceksin.

bu resimler bir üyeye ait diyelim, resimleri yüklerken üyenin id'sini gonderilen_id 'ye yazacaksın, üyenin sayfasında bu resimleri göstermek için
göstermek istediğin sayfada ki sorguya SELECT * FROM resim_tablosu WHERE gonderilen_id = $uyeninIDsi gibi bir sorgu yaparak
daha sonra foreach döngüsüne sokacaksın bu kadar mantığı yani senin yapmak istediğinden aslında daha kolay, gönderilen_id kısmınıda indexlersen daha iyi olacaktır.

burak001
1357 gün önce

dendim zaten şöyle;
bu dosyaları benzersiz bir id oluşturup ilişikilendirdim
tekrardan bu 5 resmi çekmek istiyorum diyelim
resimleri nasıl alıp teker teker yazdıracağım

erhanturksen
1357 gün önce

Anladım fakat bu şekilde yapmak çok mantıklı gelmedi, resim_tablosu diye bir tablo oluşturup ayrı olarak buraya kaydet
farklı sayfalarda çağırırken ilişkilendirme ile çağır yani yükleme yaptığın örneğin üye resimleri olsun yüklerken üye'nin id bilgisinide gönder
çağırırken bu şekilde çağır bu şekilde çok daha kolay olacaktır.

burak001
1357 gün önce

ajaxla dosyaları toplu gönderiyorum bunları teker teker açmak for a sokuyorum fakat for döngüsünde bunları bir araya toplayıp
veritabanımda tek bir sütüna yada yan yana sütunlara yazdıramıyorum alt alt ekleyebiliyorum fakat bunları tekrar başka sayfamda
açarken sorun oluşuyor açamıyorum

erhanturksen
1357 gün önce

Tam olarak sorunu açıklarmısın, dosya yüklemek istiyorsun bunları bir sütuna yan yanamı sıralamak istiyorsun?
[dosya1,dosya2,dosya3] gibi ya da her döngüde yeni bir kayıtmı oluşturmak istiyorsun?

şunuda bir incelermisin https://makitweb.com/how-to-upload-multiple-image-files-with-jquery-ajax-and-php/

burak001
1357 gün önce

yok maalsef çözmedi hala gelen diziyi , le parçalamıyor

erhanturksen
1357 gün önce