• 26-10-2010, 22:29:16
    #1
    Merhaba arkadaşlar!
    Bir şeyi merak ettim;mesela bilirsiniz araba sitelerinde bir arabanın 5 tane resimi vardır ve detay resmine girdiğinizde 5 resmi de görürsünüz.Bunun için nasıl bir yöntem izliyorsunuz?
    Benim aklımda iki yöntem var.
    1)mysql veritabanında araba tablosu içindeki resim alanınaresim="araba1.jpg,araba2.jpg,araba3.jpg" diye kaydedip bunu explode ile virgülden parçalayarak almak.
    2)Bunun için yeni bir araba_resim tablosu yapmak
    araba_id--------------resim
    1--------------------araba1.jpg
    1--------------------araba2.jpg
    1--------------------araba3.jpg
    ve yukarıdaki tablodan id=1 olanları listeletmek.

    Bana 1. yöntem daha mantılı geldi alandan tasarruf ederim ve fazladan bir tabloya uğraşmamış olurum.

    Ama asıl merak ettiğim bunlardan başka bir yöntem var mı?Yani siz bu yoğurdu nasıl yiyorsunuz?
  • 26-10-2010, 22:34:50
    #2
    Üyeliği durduruldu
    bu soruyu daha önceden ben de sormuştum.
    bir kısım medya 1. yöntemi, bir kısım medya 2. yöntemi tavsiye etti.
    Sanırım ikisinide denemeden kendimize göre en iyi olanı seçemeyeceğiz.

    1. yöntemde virgül yerine "a8+,u" gibi birkaç karakter kullanırsan suistimal edilme şansı daha az olur.
  • 26-10-2010, 22:47:17
    #3
    birinci yöntem daha güzel bence.bende etiket sistemi yapmıştım.onları çektim explode ile böldüm.buda aynı mantık güzel calısır
  • 26-10-2010, 23:20:52
    #4
    teşekkürler..
  • 26-10-2010, 23:56:11
    #5
    ikinci yöntem daha sağlıklı.
  • 27-10-2010, 00:04:06
    #6
    HayroLa adlı üyeden alıntı: mesajı görüntüle
    ikinci yöntem daha sağlıklı.
    neden?
  • 27-10-2010, 00:12:32
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    OOP çünkü.
  • 27-10-2010, 00:54:31
    #8
    İçinde bulunduğum projelerde her iki yöntemi de denedim.

    Birinci yöntemde tek sorguyla araba tablosunu çekersiniz, resim sütunundaki değerleri explode ile böler, foreach ile ekrana basarsınız.

    İkinci yöntemde (normal şartlarda) önce araba tablosunu okur, id'yi alır, araba_resim tablosunda araba id sine göre verileri çeker, while ile döndürürsünüz.

    İkinci yöntemde tek sorguda iki tablodan veri çekme gibi bir duruma girmezseniz, iki sorgu çalıştırmış olursunuz. Haa, bu mysql'e koyar mı ? Sanmam... Hani fark olsa bile gözle görülen bir fark olmaz gibime geliyor. ( yüzlerce resim yoksa )

    Bu yoğurdu birinci yöntemle yemeyi tercih ederim. Zira ikinci yöntemde ayran oluyor sanki...
  • 27-10-2010, 01:10:37
    #9
    bence hiç veritabanını tekrar kastırmaya gerek yok. mesela arabanın id'sini (car_id) alıp images klasörüne de [car_id]_[resim_numarası].jpg şeklinde kaydedersiniz sonrada bir dizi for/if bloklarıyla tarayıcıya yazdırırsınız. ben hep böyle yaparım. veritabanını ne kadar az kullanırsanız o kadar hızlı çalışır.