大家好,我有个人回来了,最近学了一点PHP,然后想写一个简单的例子试试,所以写了一个类似于从题库中抽题的东西,大概就是先输入要抽的题数,然后从数据库中随机抽题。
希望你们能轻喷。
假设我现在有这样一个题库:
啊?为什么要用英语?因为我没有解决编码问题。
然后我会画出问题:
这样,随机抽取了三个问题。
现在说说我的思路,希望大家给我提点建议。
首先,要实现这个功能,我需要三个页面,一个是用户输入页面input.html,另一个是后台处理页面select.php,另一个是错误警告页面error.html(如果用户输入为空,或者输入的问题数量超过题库数量,那么数据库分为两列,一列是question,用于存储问题,另一列是id,用于识别questions。
然后判断用户的输入:
Input.html页面:
html元http-equiv=' Content-Type ' Content=' text/html;charset=utf-8 '/formaction=' select . PHP ' method=' get '请输入要随机生成的问题数:input type=' text ' name=' input '/input type=' submit ' name=' submit ' value=' submit '/form/html error . html页面:
html元http-equiv=' Content-Type ' Content=' text/html;Charset=utf-8'/p您的输入有误,请重新输入!/p/htmlselect.php页面:
?php头(' Content-type : text/html;charset=utf8’);$ connect=new MySQL(' localhost ',' wy ',' 000000 ',' test ');if(!$connect){ die('数据库连接失败!');}//连接到数据库$sql='从测试中选择id ';$ result=$ connect-query($ SQL);$ array=array();$ I=0;while($ row=$ result-fetch _ row()){ foreach($ row as $ val){ $ array[$ I]=$ val;$ I;} }//将标题id存储在数组中数组$ input=$ _ GET[' input '];//接受用户输入if(空($ input)| | $ input count($ array)){//判断用户输入是否为空或超过题库题头个数(' Location 3360 error . html ');//输入不正确重定向到错误提示页} else { shuffle($ array);//对存储标题id的数组进行随机排序$ k=0;//在rand数组中提取问题时的id($ j=0;$ j $投入;$j ){ $rand=array_slice($array,0,$ input);//从数组的第一个数字开始,取出用户输入的ID数,存储在数组$ sql2=' select * from test '中,其中ID=' { $ rand[$ k]} ';//查找rand数组中每个id对应的问题$ result 2=$ connect-query($ sq L2);//存储mysql语句返回的结果集while($ row 2=$ result 2-fetch _ assoc()){ echo $ row 2[' question '];//返回问题对应的内容回应‘br/’;} $ k;} $ result 2-free();//释放内存} $无结果();//空闲内存$ connect-close();//关闭连接?摘要
上面提到的是,边肖给大家介绍的PHP,达到了类似从题库中抽题的效果。希望对你有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!