Housie Tickets Generator in PHP
This PHP script generates housie tickets using Emojis instead of numbers. Each ticket has 3 rows with 9 columns of which 4 are blanks and the rest have unique but random emoji emoticons.
The emojis are rendered using 160x160 images extracted from the Apple Emoji font and would therefore render on any browser and device.
function createTicket() {
// There are so many Emoji emoticons
$numbers = range(1,846);
shuffle ( $numbers );
// Each ticket has 3 rows and each row has 4 blank spaces
$row = [ ["", "", "", ""], ["", "", "", ""], ["", "", "", ""] ];
// Each row has 5 numbers (or emojis)
for ($i=0; $i<sizeof($row); $i++) {
for ($j=0; $j<5; $j++) {
array_push($row[$i],$numbers[$i*5+$j]);
}
// Let's shuffle to maintain randomness
shuffle($row[$i]);
}
$table = "";
// The emoji images are hosted in a sub-folder
for ($i=0; $i<sizeof($row); $i++) {
$table .= "<tr>";
for ($j=0; $j<9; $j++) {
$img = $row[$i][$j] == "" ? "white.gif" : $row[$i][$j] . ".png";
$table .= "<td width=160 height=160><img src='emoji/$img' width=160 height=160/></td>";
}
$table .= "</tr>";
}
$table = "<table cellspacing=0 cellpadding=10 border=2>$table</table>";
return $table;
}
$html = "";
// Generate 2x5 tickets per sheet
for ($i=0; $i<5; $i++) {
$html .= "<tr><td>" . createTicket() . "</td><td>" . createTicket() . "</td></tr>";
}
echo "<table cellspacing=0 cellpadding=40 border=0>$html</table>";
?>
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory