• 03-07-2021, 21:22:55
    #1
    Selam, şuanda mevcut kayıtlı kullanıcılarım var. Bu kullanıcılara harf bulundurmayan rastgele sayı değerleri üretmek istiyorum 10 haneli, ve içerisinde normale göre daha çok sıfır bulunmasını istiyorum. Mevcutta olan kullanıcılara nasıl bunu yapabilirim? Hadi yeni kullanıcılara bunu kayıt dosyasında düzenlerim ama mevcuttakiler nasıl düzenlenebilir hepsi aynı olmayacak şekilde?
  • 03-07-2021, 21:27:18
    #2
    Üyeliği durduruldu
    hepsine ilgili kolonun standart değerini veritabanından null olarak işaretleyin.
    Daha sonrasında php ile verileri listeleyip null kontrolü sağlayın; istediğiniz kısım boş mu dolu mu kontrolü yapın her ihtimale karşın ve aynı veri ile çakışma yapmasın diye sorgu oluşturun.

    sonrasında update ile ilgili boşlukları doldurun.
  • 03-07-2021, 21:28:50
    #3
    Fertig adlı üyeden alıntı: mesajı görüntüle
    hepsine ilgili kolonun standart değerini veritabanından null olarak işaretleyin.
    Daha sonrasında php ile verileri listeleyip null kontrolü sağlayın; istediğiniz kısım boş mu dolu mu kontrolü yapın her ihtimale karşın ve aynı veri ile çakışma yapmasın diye sorgu oluşturun.

    sonrasında update ile ilgili boşlukları doldurun.
    WHERE = NULL olarak güncellediğimde hepsine aynı değeri yazdırmaz mı hocam?
  • 03-07-2021, 21:30:15
    #4
    Üyeliği durduruldu
    AndMex adlı üyeden alıntı: mesajı görüntüle
    WHERE = NULL olarak güncellediğimde hepsine aynı değeri yazdırmaz mı hocam?
    Null u veritabanından yapacaksınız önce tüm kolonları boşaltacaksınız. Sonrasında tek tek atama yaparsınız for ile.

    Hala işlem yapamazsanız cüzi bir miktara yardımcı olabilirim, iyi çalışmalar dilerim.
  • 03-07-2021, 21:31:41
    #5
    Fertig adlı üyeden alıntı: mesajı görüntüle
    Null u veritabanından yapacaksınız önce tüm kolonları boşaltacaksınız. Sonrasında tek tek atama yaparsınız for ile.
    Yok hocam, Anladım dediğinizi de. İşin php kısmında UPDATE .... WHERE tablo = NULL tarzında güncelleyeceğiz ya. Üretilen rastgele değeri her seferinde üretir mi? yani atıyorum 00000022222 Olarak üretti. Hepsine bunu yazmaz mı?
  • 03-07-2021, 22:02:16
    #6
    Özellikle ilk 5 hanesi 0 son 5 hanesini değişken rakamlardanmı oluşturmak istiyorsunuz?
  • 03-07-2021, 22:15:59
    #7
    CodeDev adlı üyeden alıntı: mesajı görüntüle
    Özellikle ilk 5 hanesi 0 son 5 hanesini değişken rakamlardanmı oluşturmak istiyorsunuz?
    Hayır hocam, örneğin şu şekilde istiyorum 150033010070... gibi 10 haneli ancak en fazla içinde 0 sayısının bulunmasını istiyorum
  • 03-07-2021, 22:20:11
    #8
    CodeDev adlı üyeden alıntı: mesajı görüntüle
    Özellikle ilk 5 hanesi 0 son 5 hanesini değişken rakamlardanmı oluşturmak istiyorsunuz?
    Onu şu şekilde çözerim (kod aşağıdadır) ancak bunu sql de her kullanıcıya farklı gelicek şekilde nasıl yazdırabilirim?

    <?php
    $token = str_split('0000000123456789'); 
            shuffle($referans);
            $tkn= '';
            foreach (array_rand($referans, 10) as $k) $tkn.= $referans[$k];
    
    echo $tkn;
  • 03-07-2021, 22:26:46
    #9
    function idS(){
        $int = substr(hexdec(uniqid()), -5);
        $e = "000000".$int;
        return str_shuffle($e);
    }
    Birtanede ben hazırladım şimdi nasıl çözeceğinize gelince bu üyelerin auto increment id'leri vardır heralde yapacağınız şey çok basit bütün üyeleri çekeceksiniz, daha sonra bir foreach döngüsü kurup
    içine update sql sorgunuzu yerleştirecekceksiniz where kısmına döngü deki $id değerini ilgili sütüna ise yazdığım fonksiyonu ekleyeceksiniz, her bir id için bu fonksiyonu bir kere çalıştırır sorununuz çözülmüş olur