• 12-02-2010, 21:09:14
    #1
    Merhaba arkadaşlar. bir script geliştirmekteyim ve son adımda biraz takıldım.
    uyeler ve yorumlar adında bir tablom var. yorumlar tablomda id kuladi yorum alanım mevcut.

    Burda yapmak istediğim olay tam olarak şudur. Öyle bir sorgu yapmalıyım ki istatistik sayfamda en çok yorum yapan 10 üye kısmında üye adını ve yorum sayısını göstersin. ben bu sorguyu yaptım fakat sıralamayı uyeler tablosundaki üye id e göre yapıyor. ben sıralamayı yorum sayısına göre sıralamak istiyorum.

    İstediğim örnek:
    Ali - 55 Yorum
    Veli - 40 Yorum
    Kemal - 35 Yorum


    Şu anki yapabildiğim
    Kemal - 35 Yorum
    Ali - 55 Yorum
    Veli - 40 Yorum

    Kullandığım sorgu

    $uyeler=mysql_query("SELECT * FROM uyeler limit 10");  
         
    while($sayy=mysql_fetch_array($uyeler)){
        
    $yorum=mysql_query("SELECT * FROM yorumlar where kuladi='$sayy[kuladi]' order by id asc");  
         
    $say=mysql_num_rows($yorum);
       if($say == "0"){ }else{
       echo $say, $sayy[kuladi];
       echo "<br>";
       }
    Yardımlarınızı bekliyorum.
  • 12-02-2010, 21:15:01
    #2
    Üyeliği durduruldu
    Merhabalar,

    Sanırım tek sorguda çözebilirsiniz. Şöyle yapınız;

    $uyeler =  mysql_query("SELECT * FROM yorumlar ORDER BY yorum DESC LIMIT 10"); 
    while($say=mysql_fetch_array($uyeler)){
    echo $say['kuladi'];
    echo $say['yorum']."&nbsp;Yorum";
    }
    Saygılarımla;
    Samet ARAS.
  • 12-02-2010, 21:16:30
    #3
    $uyeler=mysql_query("SELECT * FROM uyeler");

    while($sayy=mysql_fetch_array($uyeler)){

    $yorum=mysql_query("SELECT * FROM yorumlar where kuladi='$sayy[kuladi]' order by asc");

    $say=mysql_num_rows($yorum);
    $kull[$sayy[kuladi]]=$say;
    }
    unset($kull);
    foreach ($all as $kull => $vl){
    echo $kull.$vl."<br />";
    }
  • 12-02-2010, 21:47:02
    #4
    Eposta Aktivasyonu Gerekmekte
    order by id yerine order by kuladi yapın.
  • 12-02-2010, 21:51:55
    #5
    Hocam verdiğiniz kodlar işe yaramıyor. konu hala günceldir. yardım bekliyorum...
  • 12-02-2010, 22:02:51
    #6
    Arkadaşlar bir el atın size zahmet.
  • 12-02-2010, 22:22:06
    #7
    tabloları tam olarak yazarsan yardımcı olurum
  • 12-02-2010, 22:31:38
    #8
    husee3 adlı üyeden alıntı: mesajı görüntüle
    tabloları tam olarak yazarsan yardımcı olurum
    hocam uyeler tablosunda id, kuladi, sifre, pass, vs. alanlarım var.
    yorumlar tablomda id, kuladi, yorum, tarih var.

    en çok hangi üye yorum yapmış karışık bir sırayla çekiyorum. ama bana sıralama gerekiyor. en çok yorum yapanlar üstten başlasın istiyorum. yardımın için şimdiden tşk ederim.
  • 12-02-2010, 22:51:54
    #9
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşım şu şekilde yapabilirsin:

    alanlar id ve kuladi ise

    SELECT count (*) as topla, id, kuladi FROM yorumlar group by kuladi order by topla desc limit 5