• 15-10-2009, 21:04:15
    #1
    Film tablosu:

    ID / FILM ADI / FILM TURU / YAPIM YILI / FRAGMAN LINKI
    5 / FİLM1 / 15,28,35 / 1999 / http://www.siteadresi.com/fragmanlar/vs1.flv
    6 / FİLM2 / 17,22,33 / 2000 / http://www.siteadresi.com/fragmanlar/vs2.flv
    7 / FİLM3 / 15,28,35,45/ 2005 / http://www.siteadresi.com/fragmanlar/vs3.flv
    8 / FİLM4 / 15,28 / 2007 / http://www.siteadresi.com/fragmanlar/vs4.flv
    9 / FİLM5 / 15,28,35 / 2009 / fragmanı yok yani boş tablo


    yukarıdaki db ye göre şöyle bir sorgu yapmak istiyorum ama nasıl yaparım;

    film türü bire bir uyuşan yani => 5,7,9 idli filmler uyuşuyor
    bu uyuşanlardan sadece fragman linki dolu olanlar yani=> 5,7
    bu çıkan sonucuda yapım yılına göre yeniden eskiye yazdırmak istiyorum yani sıralaması => 7,5

    Sonuçda bana 7,5 in film adını yazıcak => FİLM3,FİLM1 gibi...

    Yardımcı olursanız çok sevinirim.
  • 15-10-2009, 21:47:50
    #2
    Yardımcı olabilecek kimse yokmu acaba? Yani yapılamayacak bir kodmu? Eğer öyleyse uğraşmıyım boşuna!
  • 15-10-2009, 22:11:01
    #3
    Üyeliği durduruldu
    SELECT *
    FROM tablo
    WHERE film_turu = '5,7,9'
    AND fragman_linki != ''
    ORDER
    BY yapim_yili DESC
    yukarıdaki kod dediğini yapar fakat;
    film_turu = 'burayı sen belirlemelisin'
  • 15-10-2009, 23:14:31
    #4
    devturkeli adlı üyeden alıntı: mesajı görüntüle
    SELECT *
    FROM tablo
    WHERE film_turu = '5,7,9'
    AND fragman_linki != ''
    ORDER
    BY yapim_yili DESC
    yukarıdaki kod dediğini yapar fakat;
    film_turu = 'burayı sen belirlemelisin'
    Sanırım oldu fakat ben şu şekil yaptım;
    $sorgumakale5=mysql_query("SELECT * FROM film WHERE filmturu = '$filmturu' AND fragman<>'' ORDER BY yapimyili DESC LIMIT 5"); 
    while ($sonuc5=mysql_fetch_array ($sorgumakale5)){ 
    $filmadi5=$sonuc5['filmadi'];
    $link=$GLOBALS['siteurl'].'/fragman/'.$sonuc5['id'].'/'.turkcekarakter($sonuc5['filmadi']).'-T.html';
    }
    Bu şekilde yapınca

    <a href="<?=$link;?>"><?=$filmadi5;?></a>
    sonuçları sıralamıyor sadece 1 tane çağırıyor. ve oda genellikle kendisi oluyor.


    1-) Kendisini dışlama şansımız varmı sonuşlardan?
    2-) 5 sonuç nasıl listelenir?

    Php bilgim zayıf birazda
  • 15-10-2009, 23:36:41
    #5
    Üyeliği durduruldu
    linki döngü içine almalısınız, şu şekilde deneyin..

    $sorgumakale5=mysql_query("SELECT * FROM film WHERE filmturu = '$filmturu' AND fragman<>'' ORDER BY yapimyili DESC LIMIT 5"); 
    while ($sonuc5=mysql_fetch_array ($sorgumakale5)){ 
         $filmadi5=$sonuc5['filmadi'];
         $link=$GLOBALS['siteurl'].'/fragman/'.$sonuc5['id'].'/'.turkcekarakter($sonuc5['filmadi']).'-T.html';
         echo '<a href="' . $link . '">' . $filmadi5 . '</a><br />';
    }
  • 15-10-2009, 23:49:27
    #6
    devturkeli adlı üyeden alıntı: mesajı görüntüle
    linki döngü içine almalısınız, şu şekilde deneyin..
    $sorgumakale5=mysql_query("SELECT * FROM film WHERE filmturu = '$filmturu' AND fragman<>'' ORDER BY yapimyili DESC LIMIT 5"); 
    while ($sonuc5=mysql_fetch_array ($sorgumakale5)){ 
         $filmadi5=$sonuc5['filmadi'];
         $link=$GLOBALS['siteurl'].'/fragman/'.$sonuc5['id'].'/'.turkcekarakter($sonuc5['filmadi']).'-T.html';
         echo '<a href="' . $link . '">' . $filmadi5 . '</a><br />';
    }
    Çok teşekkürler peki son birşey daha sorucam.

    Diyelim ki biz FİLM5 sayfasındayız. Bu sorguyu yaptığımızda FİLM5 çıkmaması için ne yapmalıyım?