forcom Posted June 27, 2009 Share Posted June 27, 2009 I have a random ticket and I tell the system to check table. If the ticket exist echo 1. function random_ticket($length=15){ $ticket = ''; $ticketpick = "ABCDEFGHIJKMNOPQRSTUVWXYZ01234567890123456789"; for($i=0;$i<$length;$i++){ $ticket .= $ticketpick{rand(0,35)}; } return $ticket; } $gtnum = random_ticket(; $ctnum = mysql_query("SELECT ticketnum FROM table WHERE ticketnum='$gtnum'"); if ($ctnum == 1){ //ticket match get new ticket }esle { //ticket don`t match $ticket = $ctnum; } How can I keep a loop until a ticket don`t match Quote Link to comment https://forums.phpfreaks.com/topic/163892-solved-random-ticket/ Share on other sites More sharing options...
fenway Posted June 27, 2009 Share Posted June 27, 2009 Firstly, mysql_query returns a result set. Secondly, if there's a match, you'll find the row -- otherwise, you won't -- no need to "loop". Quote Link to comment https://forums.phpfreaks.com/topic/163892-solved-random-ticket/#findComment-864777 Share on other sites More sharing options...
forcom Posted June 27, 2009 Author Share Posted June 27, 2009 I know it set thats why I put == 1. I don`t want same ticket numbers in the table. How can I set it to loop again if the ticket already exist. Quote Link to comment https://forums.phpfreaks.com/topic/163892-solved-random-ticket/#findComment-864788 Share on other sites More sharing options...
fenway Posted June 28, 2009 Share Posted June 28, 2009 I know it set thats why I put == 1. Yes, but them you're trying to get assign the value of the ticket using the resultset directly -- that won't work. I don`t want same ticket numbers in the table. How can I set it to loop again if the ticket already exist. Then use a UNIQUE index -- and then your INSERT will fail, and you can capture that error. Quote Link to comment https://forums.phpfreaks.com/topic/163892-solved-random-ticket/#findComment-865052 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.