我搜索了档案,这个问题似乎最接近我自己的问题。但是,不幸的是,我无法从中得出解决方案。我有一个用户填写的表单,用于从大型测验数据库创建问题列表。这些问题按科目分类并按难度分级(1、2、3、4)。用户可以通过选择主题和难度来创建问题列表。它工作正常。但是,我们在某些科目上没有很多 1 年级的问题,因此希望将 1 和 2 组合成一个“简单”等级。表单的选项列表工作正常,如下所示,但我希望第二个选项搜索值 1&2 而不仅仅是 2。这是相关的表单代码(它不包括所有主题细节,只是难度选择):
<form action="" method="post" id="quizbuilder">
<table width="400" border="0">
<tr>
<td>number of questions</td>
<td><input name="quizSize" type="number" value="20" size="2" maxlength="2" min="1" max="50" /></td>
<td> </td>
</tr>
<tr>
<td>difficulty</td>
<td><select name="grade">
<option value="%" selected="selected">any</option>
<option value="2">easy</option>
<option value="3">medium</option>
<option value="4">difficult</option>
</select>
<td> </td>
</tr>
<tr>
查询如下所示:
mysql_select_db($database_qbquery, $qbquery);
$query_userquiz = sprintf("SELECT * FROM questions WHERE (grade LIKE %s) AND (topic1 LIKE %s OR topic2 LIKE %s OR topic3 LIKE %s) ORDER BY RAND() LIMIT %s", GetSQLValueString($userGrade_userquiz, "text"),GetSQLValueString($userTopic_userquiz, "text"),GetSQLValueString($userTopic_userquiz, "text"),GetSQLValueString($userTopic_userquiz, "text"),GetSQLValueString($userQuizSize_userquiz, "int"));
$userquiz = mysql_query($query_userquiz, $qbquery) or die(mysql_error());
$row_userquiz = mysql_fetch_assoc($userquiz);
$totalRows_userquiz = mysql_num_rows($userquiz);
当然,我想做的只是:
<option value="1,2">easy</option>
但我知道这行不通,因为它被读取为字符串而不是值。任何帮助将不胜感激,我现在头晕目眩,看起来应该很简单,但对我来说不是。