Şimdi Ara

php yardım arkadaşlar çok basit ama yapamıyorum

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
2
Cevap
0
Favori
308
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • şimdi ben veritabanından top100 verileri çekiyorum
    şimdi veritabanımda bir tablo var bunun değeri 1veya 2
    beim yapmak istediğim bu verileri sıralarken 1,2,3,4, diye gitmesin
    sıralamayı kırmızılar maviler ayrı şekilde yapsın
    a1
    a2
    b1
    a3
    b2
    a4
    a5



    karışık mı anlattım ya
    mesela galatasarylılar ve fenerlilerin olduğu bir tabloyu yazdırıyorum alt alt alta
    galatasaraylı 1. kullanıcı altına galatasaraylı 2. kullanıcı altına gelen kişi mesela fenebahçeli 1. kullanıcı altına gelen galatasaraylıysa galatasaralı 3. kullanıcı diye sıralasın böyle gitsin7umarım anlatmışımdır



  • Bunu bir dizi olarak düşünelim.
    Toplam 3 futbol takımın olsun. Birincisi Fenerbahçe, ikincisi Galatasaray, üçüncüsü Beşiktaş.
     
    <?php
    $dizi = array(
    array('takim'=>'Galatasaray','isim'=>'isim1'),
    array('takim'=>'Fenerbahçe','isim'=>'isim2'),
    array('takim'=>'Beşiktaş','isim'=>'isim3'),
    array('takim'=>'Galatasaray','isim'=>'isim4'),
    array('takim'=>'Galatasaray','isim'=>'isim5'),
    array('takim'=>'Fenerbahçe','isim'=>'isim6'),
    array('takim'=>'Fenerbahçe','isim'=>'isim7'),
    array('takim'=>'Beşiktaş','isim'=>'isim8')
    );


    artık elimizde takım isimleri ve kişi isimleri barındıran dizilerimiz var. Muhtemelen veritabanından gelen veri buna benzer olacaktır.
    Muhtemel takımları bildiğini varsayıyorum.
     
    $counter = array('G'=>0,'B'=>0,'F'=>0);//Boş counter dizisi. Harfler takımların baş harfleri, değerleri olan sayılarsa bu takıma ait bulunan kişi sayısı olsun.
    $count = 0;
    foreach($dizi as $k => $kisiler){//kişileri döndürelim
    foreach($kisiler as $key => $value){
    if($key == 'takim'){
    //hangi takım geldiyse o takımın sayacını bir artıralım ve ana sayaca bu değeri kaydedelim.
    switch($value){
    case 'Fenerbahçe':
    $counter['F']++;
    $count = $counter['F'];
    break;
    case 'Galatasaray':
    $counter['G']++;
    $count = $counter['G'];
    break;
    case 'Beşiktaş':
    $counter['B']++;
    $count = $counter['B'];
    break;
    default:
    break;
    }
    }elseif($key == 'isim'){//gelen değer isim ise bir önceki sefer dönen takımda atadığımız ana sayaç değişkenini($count) kullanarak sayacı yazdıralım.
    echo "{$dizi[$k]['takim']} . {$count} . {$value}<br />";
    }
    }
    }

    İstediğin muhtemelen böyle birşey.
    Benim anladığım bu daha doğrusu. İç içe döngü kullanmak pek sağlıklı değil, zaten aceleyle yazdım kodu. Sırf mantığı anlaman bile yeterli olacaktır diye düşünüyorum.
    Umarım yardımcı olabilmişimdir.

    Çıktıyı koymayı unutmuşum.
    Bu kodun çıktısı;

    Galatasaray . 1 . isim1
    Fenerbahçe . 1 . isim2
    Beşiktaş . 1 . isim3
    Galatasaray . 2 . isim4
    Galatasaray . 3 . isim5
    Fenerbahçe . 2 . isim6
    Fenerbahçe . 3 . isim7
    Beşiktaş . 2 . isim8

    şeklinde olacaktır.



    < Bu mesaj bu kişi tarafından değiştirildi tripanazomigam -- 30 Temmuz 2010; 19:05:39 >




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.