En çok konu açan ilk 10 sıralamak

fatihmert Fatih Mert Doğancan

<?php
$stat = array(); //while dışında da ulaşabilmek için
$cekBaba = mysql_query("SELECT * FROM uye"); //tüm üye kolonlarını çek
while($satir = mysql_fetch_array($cekBaba)){ //her dönüşte bir satır aşağı in
    $uyeId = $satir['uye_id']; //uye id
    $say = mysql_query("SELECT uye_id FROM konu WHERE uye_id = '{$uyeId}'"); //uye_id'si $uyeId olan tüm satırları diz
    $stat[$uyeId] = mysql_num_rows($say); //kaç tane satır var onları say ve $stat[uyeId] = uyeId'sinin kaç tane konu açtığının sayısını ekle
}
arsort($stat); //değeleri(mysql_num_rows($say)) büyükten küçüğe sıralar ve $stat[$uyeId] bu kısmı ellemez.
$ilk10 = array_slice($stat,0,10,true); //ilk 10 u alır
var_dump($ilk10);

?>

24-09-2013 22:47

    Php

    Paylaşım için teşekkürler.

    Her programcı birgün Php yi tadacaktır
    26-09-2013 16:47

      Php

      TeaMTurkeR Şenol TÜRKER

      Yararli bir bilgi olmus elime saglik. Web sitelerinde sitenin enleri gibi bolum olusturmak isteyenler kullanabilirler.

      07-12-2013 13:16

        Php

        alicilin Ali Fırat Güler

        Mantıklı. Fakat büyük bir sistem için oldukça çok yük bindirir server'a Bunun yerine

        uyeler tablosuna "konu_sayisi" adında bir stun koyup. açılan konu için bu stun değerini arttırmak çok daha mantıklı olur. Böylece Tüm üyeleri çekip, o üyelere ait mesajları çekip ondan sonra hesaplamaya ihtiyaç kalmayacaktır. Tek yapmanız gereken

        SELECT * FROM  uyeler ORDER BY konu_sayisi DESC LIMIT 0,10 dediğiniz anda Bitmiştir. Performans kaybıda yaşamazsınız.

         

        Diğer bir önerimde. Eğerki veri tabanındaki bilgilerin sayısını almak istiyorsanız. bunu Sql deki COUNT() fonksiyonu ile halledin derim. Count fonksiyonu mysqlden veri çekmeden saydırma işlemini yapar ve mysql den php ye sadece istediğiniz sayı gelir. Yani max. 1,2 byte'lık bir bilgi. Fakat Select ile hepsini çekipte, mysql_num_rows ile saydırma işlemini yaparsanız. İstediğiniz tüm veriler php tarafına aktarılmış olur. Ve siz aktarılan satırları saydırmış olursunuz.

        unutmamalı ki. Php ve mysql iyi bir ikili olsada, İkisi bir bütün değildir. Aralarında veri aktarımı mevcuttur.

        Kolay gelsin.

        07-12-2013 18:29

          TeaMTurkeR Şenol TÜRKER

          +10

          07-12-2013 20:25

            www.Phpkodlari.com © 2009 Herkes Php öğrenecek
            Web tasarım ve eğitim kaynağınız.