表单中的选项值,用于搜索DB以获取两个值

时间:2013-01-08 11:51:54

标签: php html mysql

我搜索了档案,this question似乎最接近我自己。但是,遗憾的是,我无法从中获得解决方案。 我有一个表单,用户可以完成从大型测验数据库中创建问题列表。问题按科目分类,按难度分级(1,2,3,4)。用户可以通过选择主题和难度来创建问题列表。它工作正常。但是我们在某些科目上没有很多一年级的问题,所以想要将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>&nbsp;</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>&nbsp;</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>

但我知道这不会起作用,因为它被读作字符串而不是值。 任何帮助都会非常感激,我的脑袋现在正在旋转,看起来它应该很简单,但它不适合我。

1 个答案:

答案 0 :(得分:0)

正如我在评论中发布的那样,您可以在使用之前轻松爆炸该值:

$value = $_POST['name'];
$name = explode( ',', $value );

现在你有一个数组,有一个或多个值,只需根据需要使用它们。但是有点不清楚,你期待的最终代码是什么。

PS:在将它们提供给您查询之前,请记得做一些额外的SQL注入检查。