![](/img/trans.png)
[英]How to fetch data from table as per column value using PHP and MySQL
[英]How to search value from MySQL table as per multiple column value using PHP
我需要在表中搜索移动电话,名字或姓氏,然后使用PHP和MySQL返回表中的行。 我的桌子在下面。
DB_USER:
id mobile info_id status
1 9937229870 12 1
2 1234567892 13 1
3 2123212324 14 1
db_user_info:
info_id fname email lname
12 Jay as@gmail.com Roy
13 Jarin aw@gmail.com Raot
14 Stoks aq@gmail.com Dravid
db_skill:
skill_id info_id category
1 13 cat1
2 14 cat2
3 15 cat3
例如,如果用户名为Jay Roy,其电子邮件为aw@gmail.com,移动电话为2123212324,则它将返回:
db_user_info:
info_id fname email lname
12 Jay as@gmail.com Roy
13 Jarin aw@gmail.com Raot
DB_USER:
id mobile info_id status
3 2123212324 14 1
我怎样才能做到这一点?
使用联接
select a.*,b.*,c.* from db_user as a inner join db_user_info b on a.info_id =b.info_id inner join db_skill c on b.info_id = c.info_id where a.mobile = "'.$usermobile.'" and b.email = "'.$useremail.'" and CONCAT(b.fname,' ',b.lname) = "'.$username.'"
SELECT
db_user.*,
db_user_info.*,
db_skill.*
FROM
db_user,
db_user_info,
db_skill
WHERE
db_user_info.info_id = db_user.info_id
AND
db_user_info.info_id = db_skill.info_id
AND (
concat_ws(' ', db_user_info.fname, db_user_info.lname) like '%Jay Roy%'
OR
db_user_info.email = 'aw@gmail.com'
OR
db_user_info.mobile = '2123212324'
)
使用此跃点将对您有帮助
$flname = explode(" ",$name);
$fname= $flname[0];
$lname = isset($flname[1]) ? $flname[1] : $flname[0];
select * from db_user du, db_user_info dui, db_skill ds where du.info_id = dui.info_id AND du.info_id = ds.info_id AND (du.mobile like '%$mobile%' OR dui.fname like '%$fname%' OR dui.lname like '%$lname%' OR dui.email like '%$email%');
编辑:添加了不同的列和名称搜索值
<?php
$sql = "(SELECT content, title, 'msg' as type FROM db_user WHERE content LIKE '%" .
$keyword . "%' OR title LIKE '%" . $keyword ."%')
UNION
(SELECT content, title, 'topic' as type FROM db_user_info WHERE content LIKE '%" .
$keyword . "%' OR title LIKE '%" . $keyword ."%')
UNION
(SELECT content, title, 'comment' as type FROM db_skill WHERE content LIKE '%" .
$keyword . "%' OR title LIKE '%" . $keyword ."%')";
mysql_query($sql);
?>
=>您可以尝试使用这种格式搜索数据
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.