• 09-11-2009, 19:59:00
    #1
    Eposta Aktivasyonu Gerekmekte
    Şu resimdeki gibi bir tablo yapım var.

    http://i38.tinypic.com/wiudqo.png

    Ve şu kodu her satırdaki kullanıcı için ayrı ayrı uygulatmak istiyorum. Çünkü hepsine bir anda uygularsa en yüksek health değerine sahip olan kişiye göre ayarlıyor diğerlerini. Ne demek istediğimi resme baktıktan ve kodları inceledikten sonra daha iyi anlarsınız.

    	
    $r['find_everyone'] = mysql_query('SELECT `health` FROM `user`');
    
    	while($their = mysql_fetch_assoc($r['find_everyone']))
    	{
    		$r['their_new_health'] = ($their['health'] - 10);
    		mysql_query('UPDATE `user` SET `health`=\'' . $r['their_new_health'] . '\'');
    	}
  • 09-11-2009, 20:10:20
    #2
    sorgu da healt ile beraber id yi de almalısın. update sorgusunda da where id= şartını eklemelisin.
  • 09-11-2009, 20:18:31
    #3
    Eposta Aktivasyonu Gerekmekte
    Ama 100 kullanıcı olduğunu varsayalım. Hepsi için ayrı sorgu mu hazırlayacağım? Daha kolay bir yolu yok mu?
  • 09-11-2009, 21:07:57
    #4
    Eposta Aktivasyonu Gerekmekte
    Bu kodu foreach veya for ile otomatik tekrarlatabilir miyiz? Cevap evet ise nasıl yapılacağını da anlatın lütfen.
  • 10-11-2009, 18:47:52
    #5
    Eposta Aktivasyonu Gerekmekte
    Arka arkaya mesaj atmak hoşuma giden bir şey değil ama, bu konuda bilgisi olan yok mu acaba?
  • 10-11-2009, 19:05:46
    #6
    Konu hakkında bilgisi olan zaten yazar arkadaşım, ban yiyeceksin flood den.
    https://www.r10.net/forumda/announcements.html (35.)
  • 10-11-2009, 19:32:41
    #7
    Gibi bişey yapmalısın.Kodları görmeden ne tavsıye edeceğimizi düşünmek zor oluyor kodları yazarsan daha iyi daha net bilgiler alabilirsin

    <?php
    
    
    $r['find_everyone'] = mysql_query("SELECT health FROM user where username='$username'");
    
        while($their = mysql_fetch_assoc($r['find_everyone']))
        {
            $r['their_new_health'] = ($their['health'] - 10);
            mysql_query("UPDATE user SET healt='$r[\'their_new_health\']' where username='$username'");
        } 
    
    ?>
  • 10-11-2009, 20:53:58
    #8
    Eposta Aktivasyonu Gerekmekte
    İşlemi gerçekleştirdiğim kodun tamamı ilk mesajımdaki.

    Sizin yaptığınız gibi username ibaresi eklersek, sadece bu scripti çalıştıran kişinin o an giriş yaptığı kullanıcının health değeri düşer. Ama ben bunu CronJobs ile birlikte otomatik olarak çalıştırtacağım için tüm kullanıcıları etkilemesi ve, hepsini bir anda değil ayrı ayrı etkilemesi gerekiyor.
  • 10-11-2009, 22:37:53
    #9
    THR
    Üyeliği durduruldu
    	
    $r['find_everyone'] = mysql_query('SELECT * FROM `user`');
    
    	while($their = mysql_fetch_assoc($r['find_everyone']))
    	{
    		$r['their_new_health'] = ($their['health'] - 10);
    		mysql_query('UPDATE `user` SET `health`=\'' . $r['their_new_health'] . '\' WHERE ID = ".$their["id"] ."');
    	}