• 24-10-2009, 21:39:32
    #10
    $ad = $_POST['isim'];
    $resim = $_POST['resim'];
    
    
    $Sorgu = "Insert Into ekle Values ('','$ad','$resim'')";
    $add = @mysql_query($Sorgu);
    Echo ("<script language='javascript'>alert('Eklendi!');window.location = 'ekle.php';</script>");
    }
    burda isim ekletmede problem yokda resim kolonuna nasıl
    <input type="checkbox" name="resim" value="1.jpg" />
    <input type="checkbox" name="resim" value="2.jpg" />
    <input type="checkbox" name="resim" value="3.jpg" />
    <input type="checkbox" name="resim" value="4.jpg" />
    <input type="checkbox" name="resim" value="5.jpg" />

    checkbox da 4 resmide secti diyelim resim kolonuna şunu nasıl yazdırırım :
    resim kolonuna şu şekilde yazsın : 1.jpg @ 2.jpg 3.jpg @ 4.jpg
    ayırak olarak @ kullanalım misal
    name="resim" her birinde farklı olucak sanırım.
    Yardımcı olursanız sevinirim.
  • 25-10-2009, 01:18:27
    #11
    BHCoder adlı üyeden alıntı: mesajı görüntüle
    tek sutun tek tablo içerisinde işlem yaptırmak teorik olarak yanlıştır.
    nasıl ögrenirse öyle gider bunu unutmamak lazım
    Hayır yanlış değildir. Aksina daha performanslı bile olacaktır Neden ?
    Farzedelim 1k tane film var. Ve bu filmlerde ortalama 10 tane resim var. Bütün resimleri tek bir kolonda tutmaz isek, toplam 10k tane satır oluşacaktır sırf resimler için. Eee bunları o büyük tablo içinde aramaktansa tek kolonda aramak ta mantıklı gibi geliyor ki zaten çok fazlada bir yer kaplamayacaktır. Aşağıdaki örnekden incelenebilir.
    Bunları tek bir kolona şu şekilde kaydedebilirsiniz
    1|2|3|4|5|6|7
    Bu resimleri ekrana basmak için ise;
    $arr = explode('|', $resimler);
    foreach($arr as $v){
     echo "<img src=\"FILM_ID-$v.jpg\" />";
    }
    Gördüğünüz gibi db de kayıtlı olan resim adları, her film için eşsiz olmak zorunda değil. Tek yapmanız gerken resimi ekrana basarken filmid eklemek. Kolay gelsin
  • 25-10-2009, 01:36:03
    #12
    Üyeliği durduruldu
    mustafa90 adlı üyeden alıntı: mesajı görüntüle
    Hayır yanlış değildir. Aksina daha performanslı bile olacaktır Neden ?
    Farzedelim 1k tane film var. Ve bu filmlerde ortalama 10 tane resim var. Bütün resimleri tek bir kolonda tutmaz isek, toplam 10k tane satır oluşacaktır sırf resimler için. Eee bunları o büyük tablo içinde aramaktansa tek kolonda aramak ta mantıklı gibi geliyor ki zaten çok fazlada bir yer kaplamayacaktır. Aşağıdaki örnekden incelenebilir.
    Bunları tek bir kolona şu şekilde kaydedebilirsiniz
    1|2|3|4|5|6|7
    Bu resimleri ekrana basmak için ise;
    $arr = explode('|', $resimler);
    foreach($arr as $v){
     echo "<img src=\"FILM_ID-$v.jpg\" />";
    }
    Gördüğünüz gibi db de kayıtlı olan resim adları, her film için eşsiz olmak zorunda değil. Tek yapmanız gerken resimi ekrana basarken filmid eklemek. Kolay gelsin
    o fikir sana göre pratik gelebilir. bu doğru olduğu anlamına gelmez.
    ozman şöyle yapalım tek tablo açalım sitenin bütün ayarları içeriğini orada tutalım.senin mantığın ile.

    mysql text tabanlı depolama için kullanıldığından senin dediğin şekilde pratiktir ama doğru değildir.


    sana en basit bir örnekte bulunayım bunu seminerlerdede söylerler.
    elinde bir iğne var bunu iğne dolu kavanoza atıp aramak var birde boş kavanoza koyup bulmak var. bak birinde arıyorsun birinde buluyorsun.

    zaten bu işte ileri seviye bilgiye sahip olan insanlar tek tablo tek sütün içerisinde işlem yapmanın doğru olmadığını söyleyecektir.

    büyük sistemleri açıp inceleyebilirsin
    kolay gelsin
  • 25-10-2009, 03:41:23
    #13
    İyi güzel demiş. Evet tek tabloda tutmak doğru değildir. Fakat burdaki olay biraz farklıdır. Şöyle düşünün;
    DB den bir film çekeceksiniz, ve buna ait bütün resimleride çekecekseniz.
    Alıntı
    Sizin söylemenize göre sql böyle olacaktır.
    10k film olduğu ve her filme ait 10 tane resim olduğu varsayılacaktır.
    $film = select * filmler where id = 1 //10k filmden 1 tane alıyoruz.
    $resim = select * resimler where film_id = 1 10 //10k*10 resim içinden 10 tane resim alıyoruz.
    Benim söylememe göre
    $film = select * filmler where id = 1 //10k filmden 1 tane filmi resimleri ile birlikte alıyoruz
    $resim = $film['resimler'];
    Sizin söylemek istediğinizi anladım ama buna uygularsanız söylediğim şeyden daha az performans alınacağını sanıyorum.

    Not:
    Aslında sanmıyorum, eminim.

    Not2:
    Sırf seminerlerde söyleniyor diye onların dediğini yapmak zorunda değilsiniz. Test ederek deneyerek yapmanız sizin açınızdan daha iyi olur.

    Not3:
    Bir filmi ekrana basmak için zaten filmin resimleri çekilecektir, bu yüzden 2 sql sorgusu ilemi çekmek yoksa 1 sql sorgusunda işi bitirmek mi diye düşünmeden edemiyorum.
  • 25-10-2009, 03:59:41
    #14
    Üyeliği durduruldu
    ben genel anlamda söyledim zaten ilk mesajımda.neden aykırı düşünce peşindesiniz anlamadım .bu uygulama için doğru olabilir. ama ben nedemişim böyle alışır ileride sorun olur.
    ayrıca okadar yazı var orada kalkıp seminer kelimesini nasıl idrak edip öne sürüyorsunuz anlamadım.

    bu şekilde yüksek kapasiteli kayıtlarda problem olur.sizin yaptığınız 50 100 içerikli sitelerde problem olmaz.
    5 milyon kayıt alan sistem yazdınızmı hiç sanmıyorum tecrübeniz olsa bu konuda fikriniz farklı olur.

    mustafa90 dediğini yapın ben kendimi neden hırpalıyorsam.
  • 25-10-2009, 03:07:56
    #15
    Anlamıyorsunuz yada anlamak istemiyorsunuz. Şöyle düşünün tekrar;
    5 milyon içerik diyorsunuz. 5 milyon tane film olduğunu düşünün. Resimler için aytı tablo yapın. Her filme ait 10 tane resim var ise, 50 milyon satır eder buda.
    5 milyon satırda çalışmak varken, 55 milyon satırda çalışmak niye ?

    Burdaki amaç kim haklı konusu değil. O yüzden kendinizi hırpalıyor hissetmeniz yanlış
  • 25-10-2009, 11:53:30
    #16
    hala alttaki soruma cvp alamadım
    ################################
    $ad = $_POST['isim'];
    $resim = $_POST['resim'];
    
    
    $Sorgu = "Insert Into ekle Values ('','$ad','$resim'')";
    $add = @mysql_query($Sorgu);
    Echo ("<script language='javascript'>alert('Eklendi!');window.location = 'ekle.php';</script>");
    }
    burda isim ekletmede problem yokda resim kolonuna nasıl
    <input type="checkbox" name="resim" value="1.jpg" />
    <input type="checkbox" name="resim" value="2.jpg" />
    <input type="checkbox" name="resim" value="3.jpg" />
    <input type="checkbox" name="resim" value="4.jpg" />
    <input type="checkbox" name="resim" value="5.jpg" />

    checkbox da 4 resmide secti diyelim resim kolonuna şunu nasıl yazdırırım :
    resim kolonuna şu şekilde yazsın : 1.jpg @ 2.jpg 3.jpg @ 4.jpg
    ayırak olarak @ kullanalım misal
    name="resim" her birinde farklı olucak sanırım.
    Yardımcı olursanız sevinirim.