Rasgele Sayı veritabanında var ise yeniden rasgele sayı oluştur..
Arkadaşlar kendimce birşeyler yapmaya çalıştım ama beceremedim.
Şimdi başlıktan anlaşıldığı gibi rasgele bir sayı oluşturuyorum ve bu sayının veritabında olup olmadığını kontrol edilmesini istiyorum.
Rasgele gelen sayı veritabanında var ise yeni bir rasgele sayı oluşturmasını istiyorum, tekrar oluşturduğu sayı gene var ise gene baştan bir sayı oluştursun taki farklı bir sayı oluşuncaya kadar.
farklı bir sayı oluşturunca sayıyı bana versin.
şimdi ben şöyle bir kod yazdım.
$ilkrasgele= rand(100000,999999);
$sonrasgele= rand(100000,999999);
// benim 12 haneli bir sayı üretmem gerekiyor rand ile en fazla 9 haneli oluşturabildiğim için 2 değişken atadım
$ilksayi = substr($ilkrasgele, -6);
$sonsayi= substr($sonrasgele, -6);
// verilen sayılar bazen negatif sayı olduğu için substr ile son 6 karakteri seçiyorum sayı -123456 olunca (-) yi almıyor
$kno=$ilksayi.$sonsayi;
// çıkaniki sayıyı yanyana yazarak sonunda 12 haneli pozitif bir sayı üretiyorum
Daha Şık Dursun Diye Kodları Renklendirdim (Not: Bu Bir Teşviktir.)
Bu kontrol numarasını barkod olarak kullanacam, kimisi bana id yi 12 haneli bir sayıyla verdikten sonra autoincerment verip idyi kontrol numarası yerine kullanmamı söyledi ama benim gönlümde rastgele bir sayı var.
Yardımcı olursanız çok sevinirim.
Php
do {
$ilkrasgele = rand(100000,999999);
$sonrasgele = rand(100000,999999);
$ilksayii = substr($ilkrasgele, -6);
$sonsayi = substr($sonrasgele, -6);
$kno=$ilksayii.$sonsayi;
$kontrolQS = "select kontrolno from barkodlar where kontrolno = $kno";
$kontrolQ = mysql_query($kontrolQS) or die(mysql_error());
} while( mysql_num_rows($kontrolQ) > 0 );
echo $kno;
Nerdeyse 200 kişi okumuş bu konuyu ama 1 kişi cevap verememiş :)
Bana kısmet oldu :)
Örnek olarak bunu kullanabilirsin.
Tablo adını barkodlar, sutunadını kontrolno olarak yazdım.
Kolay gelsin