0

该表如下所示:

id -- 问题 -- test_name

1 -- 数字 1 -- 预赛

2 -- 数字 2 -- 预赛

3 -- 数字 3 -- 预赛

4 -- 第 4 -- 预赛

1 -- 第 1 -- 期中

2 -- 数字 2 -- 期中

3 -- 第 3 -- 期中

4 -- 第 4 名 -- 期中

首先,数据库中的表格,其中 id 不是自动递增的,而是对于每个主要考试(预科、期中),id 重复为 1、2、3、4,这相当于每个主要考试的问题数。

问题是,当我们只获取 1 个元素时,比如 PRELIM,id = "1",id = "1" 的 Midterm 也会出现。我如何省略中期?

查询代码:

    $id=$_GET['id'];

    $result = mysql_query("SELECT * FROM paper WHERE id = '$id' and test_name='$test_name'");

我希望你能理解我的问题。

在此处输入图像描述

4

1 回答 1

0

正如 lonesomeday 在评论中所说,我认为这不是很好的设计,但您可以使用 IS NOT 功能而不是您现在拥有的功能,假设 test_name 拥有您正在寻找的值。

 $id=mysql_escape_string($_GET['id']);
 $test_name = 'PRELIM';     
 $result = mysql_query("SELECT * FROM paper WHERE id = '$id' and test_name IS NOT '$test_name'");

否则,您需要发布您的完整表格供我们查看。还要记住 mysql_escape_string 已被贬值,但总比没有好:)

于 2012-09-27T14:55:42.510 回答