Dividing numbers between rows in MySQL + PHP -
hi working on kind of raffle system divides 1 million random numbers x amount of tickets, e.g. 1 million random numbers 10,000 tickets.
each ticket row in database, have table ticket numbers in need give 100 numbers each ticket related ticket id.
so @ moment code:
//amount of 1 million tickets divided tickets $numberspertickets = $_post['numbersperticket']; //the total cost of property $propertyprice = $_post['propertyprice']; //the total amount of tickets $totaltickets = number_cieling / $numberspertickets; //the ticket price $ticketprice = $propertyprice / $totaltickets; //generate array random numbers 999,999 $randomticketnumbers = createticketnumbers(); //creation loop counter $ticketcreationcount = 1; //loop , create each ticket while($ticketcreationcount <= $totaltickets) { //create padded ticket number $ticketnumber = str_pad($ticketcreationcount, 6, 0, str_pad_left); $query = ' insert tickets( propertyid, ticketnumber, price ) values( "'.$propertyid.'", "'.$ticketnumber.'", "'.$ticketprice.'" ) '; $db->query($query); //get id of inserted ticket use insert ticket numbers $ticketid = $db->insert_id; $loopbreak = $numberspertickets; $addednumbercount = 1; foreach($randomticketnumbers $key => $value) { $query = ' insert ticketnumbers( ticketid, number ) values( "'.$ticketid.'", "'.$value.'" ) '; $db->query($query); unset($randomticketnumbers[$key]); if($addednumbercount == $loopbreak){ break; }else{ $addednumbercount++; } } $ticketcreationcount++; }
but isn't working adds right amount of tickets, in case testing 10,000 adds far many ticket numbers, ends exceeding million numbers in random tickets array, random tickets array simple 1 tier array 1 million numbers sorted randomly.
change foreach loop for:
for ($i = 1; $i <= $numberspertickets; $i++) { $query = ' insert ticketnumbers( ticketid, number ) values( "'.$ticketid.'", "'.$randomticketnumbers[$i].'" ) ';
guaranteed give $numberspertickets iterations , removes complexity of iterator++/break logic.
sometimes simple better.
please correct php! tia.
Comments
Post a Comment