複雑なクエリについて助けが必要です。一部のユーザーの検索にはオートコンプリートjquery-uiを使用し、検索にはphp + mysqlを使用しています。
ユーザーは、wordpress/buddypress ページの と (必須フィールド) にfirst_name
登録last_name
できます。email
だから、私がstackoverflowで見つけた例で正規表現を使って簡単に検索できますが、first_nameまたはlast_nameまたはemailで検索する複雑なクエリを作成したいです。
first_name
wp_usersテーブルにあり、wp_bp_xprofile_dataemail
テーブルにあります。名前とメールを結合するカスタム メタを作成したくないので、last_name
first_name
とを取得する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)
このクエリをどのように組み合わせることができますか?
これを 1 つのテーブルのように見るとselec * from users where first_name=regexp or last_name=regexp or email=regexp
、(基本的に) のようになりますが、wordpress/buddypress の複雑な構造により、これを行うことはできません。助けてください!!!
例: 3 人のユーザー、最初のユーザーの名前は oscar、2 番目のユーザーの姓は osbourne、3 番目のユーザーのメールアドレスは omnix.x@gmail.com で、検索が「o」で始まる場合、クエリはこの 3 人のユーザーを検索します。
PS: 忘れましたが、ID、名、姓、メールアドレスを返す必要があります。
おまけ: 正規表現 ^$params を使用して、開始文字の文字列を見つけています。どこでも結果でこれを見つけるには、どの正規表現が良いですか?