Şu anda özel-ücretli script arayışım yok. O yüzden lütfen teklif göndermeyiniz.
Merhaba arkadaşlar. Php ile basit random scriptini kendim yapıp kullandım. Ancak tombala mantığıyla çalışan bir random fonksiyonu yapmak istiyorum. Php bilgim maalesef çok kötü.
Diyelim ki 10000 satırdan oluşan DÜNYADA ŞEHİRLER isimli bir listem var.
Sehirler.php sayfamı görüntüleyen her kişi ayrı bir şehir adı görebilsin istiyorum. Bir şehir ismi sadece bir kez görüntülensin. Tüm şehirler bir kez görüntülenip listede şehir kalmayınca LİSTE BİTTİ uyarısı görüntülensin.
***
Böyle bir fonksiyon birçok kişinin çok farklı ihtiyaçlarını görecektir.
Bu fonksşyon kullanılarak çok farklı projeler yapılabilir.
Bu fonksiyonu en basit nasıl yapabiliriz?
Yardımcı olanlara şimdiden teşekkürler.
Random tombala scripti nasıl yapılır
4
●106
- 16-01-2022, 15:00:39Eğer doğru anladıysam;
Şehirler tablosundan durumu 0 olanlardan rastgele olarak bir şehir çekeceksiniz. Ardından çekilen şehrin durumunu 1 olarak güncelliyeceksiniz. Döngü bu şekilde devam edicek
Örnek tablo yapısı
sehirler
id
sehir
durum ( varsayılan 0 )
Örnek Kod;
$sehir = $db->query("SELECT * FROM sehirler where durum='0' order by rand() limit 1")->fetchAll(PDO::FETCH_ASSOC)[0]; echo 'Şansına bu şehir çıktı '.$sehir['sehir'].', tebrikler.'; // seçilen şehiri tekrar seçilmemesi için durumu 1 olarak güncelle; $db->query("update sehirler set durum='1' where id='".$sehir['id']."'"); - 16-01-2022, 16:36:36Üyeliği durdurulduRiga adlı üyeden alıntı: mesajı görüntüle
Teşekkür ederim hocam. Aslında benim içerlediğim bir konu var. Random gibi bir fonksiyon varken ayrıca burada bahsettiğim gibi bir fonksiyon olmaması.
Burada verdiğiniz kodda db yerine text listesi kulansak performans-işlemci ram tüketimi açısından ne gibi bir fark olur? 10k 100k satırlık metin yerine db kullanılması tabii ki daha doğru diyebilir miyiz? - 16-01-2022, 16:42:52Bu kaç adet şehir olduğuna, mysql optimizasyonuna göre değişir.looktr adlı üyeden alıntı: mesajı görüntüle
Örneğin bir txt içerisinde alt alta şehir listesi varsa bu mysql txtye oranla daha hızlı ve doğru bir çözüm olabilir.
Performans konusunda tam doğru bilgiye sahip olduğumu söyliyemem bu işlem için ama.
TXT tarafında bu işlemi yapabilmeniz için tüm satırları diziye alıp o dizinden random seçip yapmanız gerekir. Ancak mysqlde rand() limit 1 uygulanarak tek veri random olarak çekilir.
Ayrıca txt satırlı veride seçilen şehiri silip dosyayı geri kaydetmelisiniz. - 16-01-2022, 22:16:20Üyeliği durdurulduteşekür ederim hocam.Riga adlı üyeden alıntı: mesajı görüntüle
