对于复杂的查询,我需要一些帮助。我正在使用自动完成 jquery-ui搜索一些用户和 php+mysql 进行搜索。
用户可以在 wordpress/buddypress 页面上使用他的first_name
,last_name
和(必填字段)进行注册。email
因此,在我在 stackoverflow 上找到的示例中使用正则表达式很容易搜索,但我想要一个复杂的查询来按 first_name 或 last_name 或电子邮件进行搜索。
first_name
并且email
在wp_users表中并且last_name
在wp_bp_xprofile_data表中。我不想制作自定义元数据来加入姓名和电子邮件,所以,
要获得first_name
and email
,查询是:
SELECT * FROM wp_users WHERE display_name REGEXP '^$param' OR user_email REGEXP '^$param'
并获得 de last_name
,查询是:
SELECT value FROM wp_bp_xprofile_data WHERE field_id = 5 AND user_id = ".$id."
(值为 last_name 的结果和 $id=wp_users.ID)
如何混合这个查询?
如果我们看到它像一张桌子,它会像:(selec * from users where first_name=regexp or last_name=regexp or email=regexp
基本上),但由于 wordpress/buddypress 的复杂结构,我不能这样做。请帮忙!!!
eg...3 个用户,第一个用户的名字是 oscar,第二个用户的姓氏是 osbourne,第三个用户的电子邮件是 omnix.x@gmail.com,如果搜索以 'o' 开头,查询将找到这 3 个用户。
PS:我忘记了,但我需要返回身份证、名字、姓氏和电子邮件。
奖励:我正在使用正则表达式 ^$params 在开始字符处查找字符串。什么正则表达式更好地在无处不在的结果中找到它?