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 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". 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. 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. Link to comment https://forums.phpfreaks.com/topic/163892-solved-random-ticket/#findComment-865052 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.