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语句怎么写? 展开
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语句怎么写? 展开
2个回答
展开全部
条件在变量$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();
?>
更多追问追答
追答
请给出你的条件的变量,不知道你的难度在哪里,前面的代码能明白吗
如果有一定的PHP和MYSQL基础,只是需要多条件查询的算法,下面给几个提示,例1所有的查询在一个结果中,SQL=SELECT id FROM tab WHERE CONCAT(`attr`,`value`) IN ('b你','a你'),能看明白吗
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询