• 06-04-2023, 04:58:46
    #1
    Selamlar,
    Ücretli veya ücretsiz desteklerinizi bekliyorum.
    Php de benzersiz sayi oluşturabiliyorum fakat asil yapmak istediğim olay dahada benzersiz rakamlar üretebilmek.

    Array içinde 10 adet rakam donucek.
    Array count değeri hep 10 alıyoruz.
    Bu rakam 1 den 1000 e kadar olduğunu varsayalım.

    Şimdi, 1 den 1000 e kadar rakam donucek.
    1
    5
    10
    7
    8... ( 10 tane ) rakam benzersiz döndü.
    Bu benzersiz rakamlari mysql veritabaninada
    Sayılar tablosu altında sirayla ekliyoruz fakat ekleme yaparken ayni sayı varsa veritabanina eklenmemesinide istiyorum.

    ( ilk sorguda benzersiz dönebilir.)

    2.sorgulamada ise,
    Yine aynı şekilde 10 tane 1 den 1000 e kadar rakam donucek, fakat bu donucek rakam hem benzersiz olucak hemde mysql sayılar tablosundaki sayılar daki ekli olan rakamlara benzememesi gerekiyor benziyorsa döngü devam edicek.

    2.sorgulamada da 10 adet mysql den sorgulayıp benzersiz urettikten sonra bu rakamlari da ayni şekilde mysql de ki sayilarin arasına ekliyoruz.

    Döngü bu şekilde 1000 rakami bitene kadar devam etmesini istiyorum.

    ( sayfa yenileme sayisi sorgu 1 2 3 4 diye düşünebilirsiniz)

    Şuana kadar while döngüsü ile yapmaya çalıştım mysql de ekli olmasına rağmen tekrar ayni rakam dönüyor.

    Mysqli aradan çıkartıp tekrar ele aldığımda evet gerçekten benzersiz 10 adet rakam elde edebiliyorum.
  • 06-04-2023, 05:03:51
    #2
    Hocam tablonuzda sayıyı tuttuğunuz kolonu benzersiz olarak işaretlerseniz var olan bir sayı tekrar eklenmez.
    Döngü içerisinde insert işlemi sonucuda bir kontrol ekleyip ekleme işlemi başarılı olmamış ise var olan bir sayı eklemeye çalıştığınızı anlayabilirsiniz.
  • 06-04-2023, 05:05:24
    #3
    Bu işlemi veri tabanı yerine yerel bir dosyada depolayarak yapsanız daha iyi sonuç alırsınız.

    Örneğin kullandığınız sayıları bir JSON dosyasına kaydedin, dizi içindeki eleman sayısı 1000 olduğunda tekrardan tek bir sayı ile başlatırsınız
  • 06-04-2023, 05:07:15
    #4
    eskitoprak34 adlı üyeden alıntı: mesajı görüntüle
    Bu işlemi veri tabanı yerine yerel bir dosyada depolayarak yapsanız daha iyi sonuç alırsınız.

    Örneğin kullandığınız sayıları bir JSON dosyasına kaydedin, dizi içindeki eleman sayısı 1000 olduğunda tekrardan tek bir sayı ile başlatırsınız
    Bu şekilde daha mantıklı
  • 06-04-2023, 05:08:30
    #5
    nuriodaci adlı üyeden alıntı: mesajı görüntüle
    Hocam tablonuzda sayıyı tuttuğunuz kolonu benzersiz olarak işaretlerseniz var olan bir sayı tekrar eklenmez.
    Döngü içerisinde insert işlemi sonucuda bir kontrol ekleyip ekleme işlemi başarılı olmamış ise var olan bir sayı eklemeye çalıştığınızı anlayabilirsiniz.
    Evet bu şekilde dediğiniz oluyor fakat ben geniş düşünüyorum.
    Aslında olay tam olarak tüm kayıtlı sayıları çekip içerisinde eşleştirme yapıp, o sayı varsa es gecicek tekrar sayi üreticek.
    En son üretilen benzersiz son rakamlarda tekrar tabloya eklenicek. Bu şekilde olursa mysql yorulmaz ama tek tek kontrol ettirip random id uretirsek her üretme de 10 kere mysql e baglanmis olucak sürekli sayfaya refresh attigimizi düşünürsek mysql yorulacak ve cpu kullanimi articak
  • 06-04-2023, 05:10:21
    #6
    eskitoprak34 adlı üyeden alıntı: mesajı görüntüle
    Bu işlemi veri tabanı yerine yerel bir dosyada depolayarak yapsanız daha iyi sonuç alırsınız.

    Örneğin kullandığınız sayıları bir JSON dosyasına kaydedin, dizi içindeki eleman sayısı 1000 olduğunda tekrardan tek bir sayı ile başlatırsınız
    Json da denedim fakat sunucu bazen json okuma yazmayi kesiyor alakasiz birsekkilde json a yalnis veya bos yazıyor çekemiyor gibi sorunlar var.
    1000 tane rakam random dönene kadar benzersiz sayi üretip kayit altina alinacak cekilisteki mantık gibi dusunebiliriz.