实现 24点 出题。
当用户输入“24”时连接数据库,获取随机ID中的4个数字,再打乱顺序(题库中是从小到大)。
if ($keyword == "24") { $link = mysql_connect("XXX.aliyuncs.com","rtXXX","XXXXXXX"); mysql_select_db("rtXXX", $link); mysql_set_charset("utf8"); $rand_id = rand(1, 566); $sql = mysql_query("SELECT num1,num2,num3,num4 FROM 24dian WHERE id=$rand_id"); $num = mysql_fetch_array($sql); shuffle($num); //数组重排 $content = $num[0] . " " . $num[1] . " " . $num[2] . " " . $num[3]; mysql_close($link); }
SQL 创建表:
CREATE TABLE `24dian` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `num1` VARCHAR(32) NULL, `num2` VARCHAR(32) NULL, `num3` VARCHAR(32) NULL, `num4` VARCHAR(32) NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci;
SQL 导入题库(貌似有缩写?):
核心代码来源:http://www.php100.com/html/php/api/2013/0908/6073.html
原作设计思路绕死,结果惊天BUG,出题和解答是没验证的,等于说每次出题后,直接输入 24,就对。因为程序只是计算结果是否 24点。