• 26-04-2014, 16:28:22
    #1
    Merhaba arkadaşlar,
    PHP'de yeniyim ve kendi çapımda bir pvp server listesi scriptti programladım. Şöyle bir sorum var cevaplarınız için şimdiden teşekkür ederim.

    $list = mysql_query("select * from servers where aktif='1' order by durum DESC limit $nereden,$kacar");
    while ($sw = mysql_fetch_array($list)) {
    Yukarıdaki kod ile ana sayfada veritabanındaki pvp server adreslerini durumlarına göre listeliyorum. Eğer server offline ise sıralamada en altta gösteriyor. Ben birde ücret karşılığında o id'deki serveri sıralamada ilk başta göstermek istiyorum. Acaba bunu nasıl yapabilirim. IF yapısını kullanarak böyle birşey yapabilir miyim? Cevaplar için tekrar şimdiden teşekkür ederim.
  • 26-04-2014, 16:43:01
    #2
    Üyeliği durduruldu
    Üyelik sınıfı oluştursanız if ile kullanıcı adının sınıfını sorgulatarak işlem yaptırabilirsiniz.
  • 26-04-2014, 19:57:20
    #3
    Cevabınız için teşekkür ederim. Ama veritabanında 39 veri için ayrı ayrı sınıf yerine id yada veritabanındaki server ismi ile bu işlemi yapmam mümkün olamazmı
  • 26-04-2014, 19:57:25
    #4
    Isterseniz bunu iki sorguyla ya da, while döngüsünden sonra sonuçlara $sıra değeri atayıp (if kontrolü ile istediğiniz id'ye ilk sıra), array'a atarsın. Foreach ile sıraya göre listeletebilirsin.
  • 26-04-2014, 22:12:16
    #5
    ClubArkadas adlı üyeden alıntı: mesajı görüntüle
    Isterseniz bunu iki sorguyla ya da, while döngüsünden sonra sonuçlara $sıra değeri atayıp (if kontrolü ile istediğiniz id'ye ilk sıra), array'a atarsın. Foreach ile sıraya göre listeletebilirsin.
    Öncelikle cevabınız için teşekkür ederim. İki sorgu derken sanırım ikinci sorguda id'ye göre verileri çekip istediğim id'yi echo ile yazdırma olarak anladım. Şimdi localhost'ta deneyip geri dönüş yapacağım
  • 26-04-2014, 22:55:08
    #6
    TeMoNDe adlı üyeden alıntı: mesajı görüntüle
    Öncelikle cevabınız için teşekkür ederim. İki sorgu derken sanırım ikinci sorguda id'ye göre verileri çekip istediğim id'yi echo ile yazdırma olarak anladım. Şimdi localhost'ta deneyip geri dönüş yapacağım
    İlk sorguda istediğiniz id'leri alabilirsiniz. Sonrasındaki sorguda ise NOT IN kullanarak ilk sorguda çekilen id'lerin tekrar çekilmemesini sağlayabilirsiniz.

    Örneğin ilk sorguda çekilen ID'ler 1,2,3 olsun.

    $list = mysql_query("select * from servers where aktif='1' AND id NOT IN (1,2,3) order by durum DESC limit $nereden,$kacar");
    İyi çalışmalar;
  • 27-04-2014, 02:06:17
    #7
    Durum alanının tipi nedir.
    Mesela varchar online/offline ise durumu 'aonline' yaptıklarınız alfabetik listelediği için daha önde çıkar. Paralı üyeleri aonline yapabilirsiniz.
    Ya da ek bir kolon açarsınız integer ucretli isminde. Ücretlilere 1 ücretsizlere 2 verirsiniz, sonra sorgunuzda sıralamayı 2 kolona göre yaparsınız.

    $list = mysql_query("select * from servers where aktif='1' order by durum DESC, ucretli ASC  limit $nereden,$kacar");
  • 27-04-2014, 19:37:13
    #8
    @digiklan cevabınız için teşekkür ederim. ClubArkadas'ın verdiği yöntemlede yaptım. Ama ilerideki dönemde sistemde bir değişiklik yaptığımda sizin cevabınızda aklımda bulunacaktır. İlginiz için teşekkür ederim