PHP+MYSQL条件筛选

mysql表有id,attr,value字段id,attr,value1,a,你1,b,A1,c,12,a,我2,b,A2,c,1每次查询的条件是同时查询attr和val... mysql表有id,attr,value字段

id, attr, value
1, a, 你
1, b, A
1, c, 1
2, a, 我
2, b, A
2, c, 1

每次查询的条件是同时查询attr和value字段;

条件attr=a加上value=你,输出id值1
条件attr=b加上value=A,输出id值1和2
条件attr=a加上value=你,再加上条件attr=b加上value=A,输出id值1
条件attr=a加上value=你,再加上条件attr=b加上value=C,输出id值空
条件attr=a加上value=你,再加上条件attr=a加上value=我,再加上条件attr=b加上value=A,输出id值1和2

请问SQL语句怎么写?
展开
 我来答
阳光上的桥
2019-03-28 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部

条件在变量$a、$v中,组织查询语句$sql,查询的结果再输出即可,例子代码关键部分:

<?php
    $a=$_GET['attr'] || 'a';
    $v=$_GET['value'] ||  '你';
    if(mysql_connect('127.0.0.1','root','123456')){
        $sql="SELECT id FROM `tab` WHERE `attr`='$a' AND `value`='$v'";
        if ($res=mysql_query($sql)){
            $row=[];
            while(list($id)=mysql_fetch_array($res)) $row[]=$id;
            mysql_free_result($res);
            mysql_close();
            echo '查询结果:'. implode($row,'<br>');
        }else echo "执行SQL:$sql<br>失败:".mysql_error();
    }else echo 'MYSQL连接失败:".mysql_error();
?>
更多追问追答
追问

这样的 where 查询条件我写过,`attr`=a和`value`=你,这只是一条筛选条件,而筛选还有`attr`=b和`value`=你,条件有很多

追答
请给出你的条件的变量,不知道你的难度在哪里,前面的代码能明白吗
如果有一定的PHP和MYSQL基础,只是需要多条件查询的算法,下面给几个提示,例1所有的查询在一个结果中,SQL=SELECT id FROM tab WHERE CONCAT(`attr`,`value`) IN ('b你','a你'),能看明白吗
百度网友48429e1
2019-03-28 · TA获得超过336个赞
知道小有建树答主
回答量:340
采纳率:73%
帮助的人:133万
展开全部
满足 “条件attr=a加上value=你,再加上条件attr=b加上value=A,输出id值1”这个条件的记录有两条,为什么只返回一条呢?标准是什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式