PHP MYSQL 多字段搜索,只有2个字段以上符合才能显示? 本帖最后由 changjay 于 2010-05-14 04:48:47 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select 个人邮箱from 表Bwhere 公司名=$字段1 + 部门名=$字段2 + 职位=$字段3 >=2 或者如果无法确定顺序情况下select 个人邮箱from 表Bwhere '字段1 空格 字段2 空格 字段3' like concat('%',公司名,'%') + '字段1 空格 字段2 空格 字段3' like concat('%',部门名,'%') + '字段1 空格 字段2 空格 字段3' like concat('%',职位,'%') >1 SELECT 个人邮箱 FROM 表BWHERE (IF( (concat( '|', 字段1 , '|', 字段2 , '|', 字段3 , '|' ) LIKE '%|公司名|%' ) , 1, 0) + IF( (concat( '|', 字段1 , '|', 字段2 , '|', 字段3 , '|' ) LIKE '%|部门名|%' ) , 1, 0) + IF( (concat( '|', 字段1 , '|', 字段2 , '|', 字段3 , '|' ) LIKE '%|职位|%' ) , 1, 0)) >1===========已测试,可以的。当然你也可以进行条件拼接,多几个or and SELECT 个人邮箱 FROM 表BWHERE (IF( (concat( '|', 字段1 , '|', 字段2 , '|', 字段3 , '|' ) LIKE '%|公司名|%' ) , 1, 0) + IF( (concat( '|', 字段1 , '|', 字段2 , '|', 字段3 , '|' ) LIKE '%|部门名|%' ) , 1, 0) + IF( (concat( '|', 字段1 , '|', 字段2 , '|', 字段3 , '|' ) LIKE '%|职位|%' ) , 1, 0)) >1 汗!javascript:window.location="mailto:[email protected],[email protected],[email protected][email protected],[email protected]&[email protected]&subject=不好意思,只是做个实验!&body= 特别无聊,所以发现这么一个功能";php:header("refresh:0;url=mailto:[email protected],[email protected],[email protected][email protected],[email protected]&[email protected]&subject=不好意思,只是做个实验!&body= 特别无聊,所以发现这么一个功能");多个收件人到底是“,”还是“;”我也记不得了,自己试一下。要注意编码,貌似OUTLOOK只能是GB2312 关于数据导出超时的问题 帮我看下下面正则表达式的意思 如何用PHP获取某URL的response header里的Location值 怎么给一个HTML元素赋值? 为毛获取不到$GLOBALS["HTTP_RAW_POST_DATA"]?求助 讨论:文本数据库的弊端??大家进来探讨! 网络游戏公司急招网站开发人员!!! 怎么用PHP做整站的程序?能给点意见吗? 如何在Javascipt中插入php代码? 服务器语言和非服务器语言 急~正则表达式。。。。请高手赐教 无法向SESSION数组写入值
from 表B
where 公司名=$字段1 + 部门名=$字段2 + 职位=$字段3 >=2
select 个人邮箱
from 表B
where '字段1 空格 字段2 空格 字段3' like concat('%',公司名,'%')
+ '字段1 空格 字段2 空格 字段3' like concat('%',部门名,'%')
+ '字段1 空格 字段2 空格 字段3' like concat('%',职位,'%')
>1
FROM 表B
WHERE (
IF( (
concat( '|', 字段1 , '|', 字段2 , '|', 字段3 , '|' ) LIKE '%|公司名|%' ) , 1, 0
) + IF( (
concat( '|', 字段1 , '|', 字段2 , '|', 字段3 , '|' ) LIKE '%|部门名|%' ) , 1, 0
) + IF( (
concat( '|', 字段1 , '|', 字段2 , '|', 字段3 , '|' ) LIKE '%|职位|%' ) , 1, 0
)
) >1
===========
已测试,可以的。当然你也可以进行条件拼接,多几个or and
SELECT 个人邮箱
FROM 表B
WHERE (
IF( (
concat( '|', 字段1 , '|', 字段2 , '|', 字段3 , '|' ) LIKE '%|公司名|%' ) , 1, 0
) + IF( (
concat( '|', 字段1 , '|', 字段2 , '|', 字段3 , '|' ) LIKE '%|部门名|%' ) , 1, 0
) + IF( (
concat( '|', 字段1 , '|', 字段2 , '|', 字段3 , '|' ) LIKE '%|职位|%' ) , 1, 0
)
) >1
javascript:window.location="mailto:[email protected],[email protected],[email protected][email protected],[email protected]&[email protected]&subject=不好意思,只是做个实验!&body= 特别无聊,所以发现这么一个功能";
php:header("refresh:0;url=mailto:[email protected],[email protected],[email protected][email protected],[email protected]&[email protected]&subject=不好意思,只是做个实验!&body= 特别无聊,所以发现这么一个功能");
多个收件人到底是“,”还是“;”我也记不得了,自己试一下。要注意编码,貌似OUTLOOK只能是GB2312