rønning Skrevet 7. februar 2007 Skrevet 7. februar 2007 Hei! Jeg holder å lage en funksjon som skal generere et tilfeldig referansenummer. Jeg skal gjøre det slik at jeg lager et random tall mellom 100000 og 999999, for så å sjekke om dette nummeret allerede er registrert i en database. Hvis nummeret er registrert, skal denne loopen gå igjen, og hvis det ikke er registrert fra før skal funksjonen returnere nummeret. Noen som kan hjelpe?
blacktower Skrevet 7. februar 2007 Skrevet 7. februar 2007 Hvorfor kan du ikke bare finne den høyeste eksisterende verdien og legge på 1? mysql> select MAX(id) + 1 as reference FROM hardware; +-----------+ | reference | +-----------+ | 806 | +-----------+ 1 row in set (0.00 sec)
ZoRaC Skrevet 7. februar 2007 Skrevet 7. februar 2007 Evnt sette feltet til auto_increment og sette start-verdi til 100000? Men, til spørsmålet: <?php function getRand() { srand ((double) microtime( )*1000000); $random_number = rand(100000,999999); return $random_number; $num = 1; while ($num > 0) { $rand = getRand(); $query = "SELECT * FROM tabell WHERE id='$rand'"; $result = mysql_query($query); $num = mysql_num_rows($result); } echo $rand; ?>
rønning Skrevet 7. februar 2007 Forfatter Skrevet 7. februar 2007 Takk for presist svar, var akkurat som jeg tenkte meg. Saken er at dette referansenummeret ikke skal være så lett og tenke seg til, så man ikke kan finne et annet referansenummer veldig lett bare man har et eget..
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå