首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择包含2个可能值的MYSQL记录

选择包含2个可能值的MYSQL记录
EN

Stack Overflow用户
提问于 2012-08-18 15:56:22
回答 4查看 199关注 0票数 0

我想选择返回值的行。如果他们在选择框中选择了MaleFemale,我会希望它搜索它。这部分运行得很好。但是,如果他们选择Either,我想让它说明MySQL应该检查列是否包含MaleFemale,并返回任何结果。

请注意,如果可能的话,我不想在查询中使用OR语句,这是基于代码是如何写出来的。

我尝试了下面的方法,但似乎不起作用。这些值来自具有EitherMaleFemale的表单中的选择框。

代码语言:javascript
复制
if ($postgender == "either")
{
    $male = "Male";
    $female = "Female";
    $postgenderuse = ($male || $female);
}
else {
    $postgenderuse = $postgender;
}

$query4 = mysql_query("SELECT * FROM tennis WHERE gender='$postgenderuse' ORDER BY playerid DESC LIMIT 0,20");
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-18 16:00:31

从语句开始创建查询,还要检查表单是否发送了3个值中的一个(只是为了确保)

代码语言:javascript
复制
if ($postgender == "Either")
{
    $postgenderuse = " ( `gender`='Male' OR `gender`='Female' ) ";
}
elseif ($postgender == "Male" || $postgender == "Female") {
    $postgenderuse = " `gender`='".$postgender."' ";
}
else {
    die('Error, no gender selected');
}

$query4 = mysql_query("SELECT * FROM `tennis` WHERE ".$postgenderuse." ORDER BY `playerid` DESC LIMIT 0,20");
票数 1
EN

Stack Overflow用户

发布于 2012-08-18 16:02:34

假设你用二进制数来处理性别,只有两个选项(男性,女性):

代码语言:javascript
复制
$sql = "SELECT * FROM tennis";

if(in_array($postgender, array("Male", "Female"))
{
     $sql .= " WHERE gender=".$postgender;
}

$sql .= " ORDER BY playerid DESC LIMIT 0,20)";
$query4 = mysql_query($sql);
票数 1
EN

Stack Overflow用户

发布于 2012-08-18 16:04:27

如果两者都是,则更改您的查询以执行通配符搜索。

SELECT * FROM网球WHERE性别如'$postgenderuse‘

这样,当他们选择其中任何一个时,您可以将postgenderuse设置为%符号。

不过,在查询中只使用OR,并根据条件构建查询可能是一个更好的主意,例如:

代码语言:javascript
复制
if($postgender == "Male") {
   $condition = "WHERE gender='Male'";
} else if($postgender == "Female") {
   $condition = "WHERE gender='Female'";
} else {
   $condition = "";
}
$query = "SELECT * FROM tennis " . $condition . " ORDER BY BLAH";

在任何情况下,任何一种方式都应该有效。能够从条件条件构造查询是php强大的一部分。

~丹

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12016950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档