• 08-10-2024, 14:44:31
    #1
    Bir Video Sitesi kurmaya çalışıyorum. Süre sıralamasına takıldım.
    Örnek olarak 10 dakikadan kısa süreye sahip videoları şu şekilde sıralayabiliyorum
    $vide= "SELECT * FROM videos where sure<10.00 order by sure asc";
    Bunun tersi yaptıgımda 10 dakikadan uzun videoları ve kısalarınıda gösteriyor. Sadece 10 dakikadan uzun videoları listelemesini istiyorum.
    böyle olmuyor.
    $vide= "SELECT * FROM videos where sure>10.00 order by sure asc";

    istediğim 10 dakikadan uzun videoları ve 20 dakikadan uzun videolarıda listelemek. Sure kısmı veritabanında varchar olarak kayıtlı oda sağlıklı göstermiyor.
  • 08-10-2024, 14:58:04
    #2
    Kurumsal PLUS
    Video sürelerini hangi veri tipinde tutuyorsunuz?
    Edit: Yazmışsınız zaten şimdi gördüm. Veri tipini sayısal veri tipi olarak tutmayı deneyin.
  • 08-10-2024, 15:16:39
    #3
    webcolic adlı üyeden alıntı: mesajı görüntüle
    Video sürelerini hangi veri tipinde tutuyorsunuz?
    Edit: Yazmışsınız zaten şimdi gördüm. Veri tipini sayısal veri tipi olarak tutmayı deneyin.
    Sayısal veri olarak hangisi hocam seçeneklerden sayısal veri ismi nedir?
  • 08-10-2024, 15:23:08
    #4
    Kurumsal PLUS
    Doğrudan projeyi görmek daha doğru karar verdirebilir ama sanırım Int veya Decimal veri tipi uygun olacaktır. Int olarak tutarsan saniye cinsinden tutman gerekir örneğin 2 dakika 30 saniyelik video veritabanında 150 olarak geçecek. Sürekli bu dönüşümle ilgilenmen belki sorun olabilir. Bunun için bir çeviri fonksiyonu yazarsın olmadı.
    Uzun lafın kısası int veya decimal üzerinden deneme yapabilirsin. Aldığın sonucu yazarsan tekrar bi bakarız.
  • 08-10-2024, 16:04:53
    #5
    webcolic adlı üyeden alıntı: mesajı görüntüle
    Doğrudan projeyi görmek daha doğru karar verdirebilir ama sanırım Int veya Decimal veri tipi uygun olacaktır. Int olarak tutarsan saniye cinsinden tutman gerekir örneğin 2 dakika 30 saniyelik video veritabanında 150 olarak geçecek. Sürekli bu dönüşümle ilgilenmen belki sorun olabilir. Bunun için bir çeviri fonksiyonu yazarsın olmadı.
    Uzun lafın kısası int veya decimal üzerinden deneme yapabilirsin. Aldığın sonucu yazarsan tekrar bi bakarız.
    Saniye çevirmek eklerkende sıkıntı olacak saniye birimine çevirmek gerekecek. Her video için fonksiyonla değiştirme işlemide ek sorgu yükü getirecek. Başka bir çözümü yokmudur. Tümden saniyeye çevirmek yerine sadece sorgularken saniye birimine dönüştürme daha mantıklı ama uygun bir fonksiyon bulamadım.
  • 08-10-2024, 16:14:09
    #6
    Kurumsal PLUS
    Belki şöyle bir şey olabilir, veriyi varchar olarak tutup, sql sorgunda Time_to_sec fonksiyonunu kullanmayı deneyebilirsin. Bu sorgu esnasında çevirme işlemi yapacaktır. Ama veritabanında veriler tam olarak nasıl şekilde listeleniyor görmediğim için tam net bir şey diyemiyorum. Sorgunda Time_To_Sec(sure) şeklinde kullanıp dener misin? Yine sorgunda 10 dakikadan kısaları istiyorsan <600 demen lazım. Kıyas yaptığın veri saniye cinsinden olacağı için, hedef süreyi de saniye olarak yazman gerekir.