我想从数据库中生成随机问题,每个问题都有模块性和标记性,如果问一个问句,问题数是两个,模块选择了Module1、Module2和Module3,然后从这三个模块中抽取2个随机问题。但是在这里,它显示了来自每个模块的2-2个问题。
<?php
if($rr2['pmod1'] == 1){
$setmod = 1;
$qqr1 = mysql_query("SELECT * FROM question WHERE qsub='$esub' AND qmarks='$marksperquestion' AND qmod='$setmod' LIMIT $noofquestion");
while($rrr1 = mysql_fetch_array($qqr1)){
if($rr2)
echo '<tr class="gradeX">';
echo '<td>'.$rrr1['qquestion'].'</td>';
echo '</tr>';
$qqid = $rrr1['qid'];
mysql_query("INSERT INTO finalpaper VALUES('', '$portionss', '$qqid', '0')");
}
}
if($rr2['pmod'] == 1){
$setmod = 2;
$qqr1 = mysql_query("SELECT * FROM question WHERE qsub='$esub' AND qmarks='$marksperquestion' AND qmod='$setmod' LIMIT $noofquestion");
while($rrr1 = mysql_fetch_array($qqr1)){
if($rr2)
echo '<tr class="gradeX">';
echo '<td>'.$rrr1['qquestion'].'</td>';
echo '</tr>';
$qqid = $rrr1['qid'];
mysql_query("INSERT INTO finalpaper VALUES('', '$portionss', '$qqid', '0')");
}
}
if($rr2['pmod3'] == 1){
$setmod = 3;
$qqr1 =$qqr1 = mysql_query("SELECT * FROM question WHERE qsub='$esub' AND qmarks='$marksperquestion' AND qmod='$setmod' LIMIT $noofquestion");
while($rrr1 = mysql_fetch_array($qqr1)){
if($rr2)
echo '<tr class="gradeX">';
echo '<td>'.$rrr1['qquestion'].'</td>';
echo '</tr>';
$qqid = $rrr1['qid'];
mysql_query("INSERT INTO finalpaper VALUES('', '$portionss', '$qqid', '0')");
}
}
?>发布于 2015-05-06 11:13:14
使用mysql RAND()函数。
SELECT * FROM questions ORDER BY RAND() LIMIT 2注意:这是一个简单的查询,可以清除这个想法。
应用您的业务逻辑( WHERE子句中每个模块获取2个问题的条件)。
https://stackoverflow.com/questions/30074767
复制相似问题