• 04-09-2017, 23:16:13
    #1
    Üyeliği durduruldu
    Merhaba arkadaşlar.

    Kullanıcının kaç tane yazısı olduğunu veritabanından mysql_num_rows ile öğreniyorum fakat bunu veritabanına kayıt etmedim, anlık olarak değişiyor.

    Şuanda en çok yazıyı hangi kullanıcı yazmış nasıl anlayabilirim. İşin problem kısmı kimin kaç tane yazısı olduğunu mysql_num_rows ile anlayabiliyorum ama veritabanına kaydettirmediğim için istatistik sayfası oluşturamıyorum.

    Veritabanına kayıt ettirmeden nasıl yapabilirim bunu?
  • 04-09-2017, 23:56:16
    #2
    destinatrade adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar.

    Kullanıcının kaç tane yazısı olduğunu veritabanından mysql_num_rows ile öğreniyorum fakat bunu veritabanına kayıt etmedim, anlık olarak değişiyor.

    Şuanda en çok yazıyı hangi kullanıcı yazmış nasıl anlayabilirim. İşin problem kısmı kimin kaç tane yazısı olduğunu mysql_num_rows ile anlayabiliyorum ama veritabanına kaydettirmediğim için istatistik sayfası oluşturamıyorum.

    Veritabanına kayıt ettirmeden nasıl yapabilirim bunu?
    diziye at değerleri, sonra sıralama için:

    http://php.net/manual/tr/array.sorting.php
  • 05-09-2017, 00:14:25
    #3
    destinatrade adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar.

    Kullanıcının kaç tane yazısı olduğunu veritabanından mysql_num_rows ile öğreniyorum fakat bunu veritabanına kayıt etmedim, anlık olarak değişiyor.

    Şuanda en çok yazıyı hangi kullanıcı yazmış nasıl anlayabilirim. İşin problem kısmı kimin kaç tane yazısı olduğunu mysql_num_rows ile anlayabiliyorum ama veritabanına kaydettirmediğim için istatistik sayfası oluşturamıyorum.

    Veritabanına kayıt ettirmeden nasıl yapabilirim bunu?
    Google Bakiniz : SQL GROUP BY COUNT
  • 05-09-2017, 01:32:51
    #4
    Üyeliği durduruldu
    ismail02 adlı üyeden alıntı: mesajı görüntüle
    Google Bakiniz : SQL GROUP BY COUNT
    biomooj adlı üyeden alıntı: mesajı görüntüle
    diziye at değerleri, sonra sıralama için:

    http://php.net/manual/tr/array.sorting.php
    Arkadaşlar cevaplar için sağolun hallettim ama sıralamayı yapamıyorum.

    Kullanıcı Adı-1
    Kullanıcı Adı-2
    Kullanıcı Adı-1
    Kullanıcı Adı-5
    Kullanıcı Adı-3
    Kullanıcı Adı-4

    Şeklinde veriler sıralanıyor fakat isme göre A'dan Z'ye sıralanıyor. Sayıları da veritabanında tutmadığım için order by kullanamıyorum.

    Veriler falan tamam fakat PHP ile nasıl sayılara göre sıralatacağım?



    $bilgi= mysql_query("SELECT COUNT(alan_id),satan_adi FROM `alan` GROUP BY satan_adi");
    if($bilgi)
    {
        while($satir= mysql_fetch_array($bilgi))
        {
    		$oldu= $satir["satan_adi"];
    		 $b = mysql_query("SELECT * FROM alan where satan_adi='$oldu'");
            echo $satir["satan_adi"] ."-". mysql_num_rows($b) ."<br>";
          
    		
        }
    }
    Bu şekilde
    Kullanıcı Adı - 3 (Yazdığı Yazı Sayısı)
    şeklinde sıralanıyor fakat isme göre, nasıl sayıya göre sıralayabilirim çoktan aza?
  • 05-09-2017, 17:20:29
    #5
    destinatrade adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar cevaplar için sağolun hallettim ama sıralamayı yapamıyorum.

    Kullanıcı Adı-1
    Kullanıcı Adı-2
    Kullanıcı Adı-1
    Kullanıcı Adı-5
    Kullanıcı Adı-3
    Kullanıcı Adı-4

    Şeklinde veriler sıralanıyor fakat isme göre A'dan Z'ye sıralanıyor. Sayıları da veritabanında tutmadığım için order by kullanamıyorum.

    Veriler falan tamam fakat PHP ile nasıl sayılara göre sıralatacağım?



    $bilgi= mysql_query("SELECT COUNT(alan_id),satan_adi FROM `alan` GROUP BY satan_adi");
    if($bilgi)
    {
        while($satir= mysql_fetch_array($bilgi))
        {
    		$oldu= $satir["satan_adi"];
    		 $b = mysql_query("SELECT * FROM alan where satan_adi='$oldu'");
            echo $satir["satan_adi"] ."-". mysql_num_rows($b) ."<br>";
          
    		
        }
    }
    Bu şekilde
    Kullanıcı Adı - 3 (Yazdığı Yazı Sayısı)
    şeklinde sıralanıyor fakat isme göre, nasıl sayıya göre sıralayabilirim çoktan aza?
    $bilgi= mysql_query("SELECT count(alan_id), satan_adi FROM `alan` GROUP BY satan_adi order by count(alan_id) desc limit 10");
    if($bilgi)
    {
        while($satir= mysql_fetch_array($bilgi))
        {
    		$oldu= $satir["satan_adi"];
    		 $b = mysql_query("SELECT * FROM alan where satan_adi='$oldu'");
            echo $satir["satan_adi"] ."-". mysql_num_rows($b) ."<br>";
        }
    }
  • 05-09-2017, 18:31:34
    #6
    yazıların tablosunda kulanıcı adı ya da id'sinden hangisi varsa ona göre "group by" yapıp "select user_id,count(*) as c from ... group by user_id order by c desc" gibi bir sorguyla alabilirsin.