• 05-01-2011, 03:25:26
    #1
    Arkadaşlar bilmediğim ve net'de de cevabını bulamadığım bir sıkıntım var !

    MYSQL'da favoriler diye bir tablom var burada;
    favori_id - uye_id - haber_id diye 3 kolon var bu kolunlarda üyelerin favorilerine ekledikleri haberleri saklıyorum. Ve hesaplamak istediğim ise şu,
    haber_id kolonunda en çok hangi haber_id numarası var bunu öğrenebileceğim bir MYSQL kodu yada php kodu var mı bunu biliyormusunuz ?
  • 05-01-2011, 04:20:08
    #2
    Söyle yapabilirsiniz..

    İk önce yazıları çekersiniz ve yazılarların idlerini alırsınız sonra favorilerdeki yazının idsine göre saydırırsınız onlarıda büyükten küçüğe yazdırırsınız..

    $yazi = mysql_query("select * from yazi ");
    while(row_yazi = mysql_fetch_array($yazi)){
    $id = row_yazi['id'];
    $favori = mysql_query("select * from favoriler where haber_id = '$id'");
    echo mysql_num_rows($favori);
    }
    Ama görmedende birşey diyemem..
  • 05-01-2011, 11:29:19
    #3
    icebreaker adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar bilmediğim ve net'de de cevabını bulamadığım bir sıkıntım var !

    MYSQL'da favoriler diye bir tablom var burada;
    favori_id - uye_id - haber_id diye 3 kolon var bu kolunlarda üyelerin favorilerine ekledikleri haberleri saklıyorum. Ve hesaplamak istediğim ise şu,
    haber_id kolonunda en çok hangi haber_id numarası var bunu öğrenebileceğim bir MYSQL kodu yada php kodu var mı bunu biliyormusunuz ?
    $sorgu = mysql_query("SELECT type, COUNT(uye_id) FROM favoriler GROUP BY haber_id") or die (mysql_error()); 
    	 
    while($sonuc = mysql_fetch_array($sorgu)){
    	echo $sonuc['haber_id']." id'si ile toplam ". $sonuc['COUNT(uye_id)'] ." haber var.";
    	echo "<br />";
    }
    gibi bir şey yapılabiliri sanırım.
  • 05-01-2011, 13:19:37
    #4
    Çok teşekkürler arkadaşlar başka bir arkadaşın önerisi ile daha kısa bir yol kullanarak yaptım işine yarayan olursa eğer kod şu;

    SELECT haber_id, COUNT(favori_id) FROM favoriler
    GROUP BY haber_id
    ORDER BY COUNT(favori_id) DESC LIMIT 10