OK、私はこれをしばらく使っていますが、少し行き詰まっています。
多分私はそれについてすべて間違っているつもりです!
基本的に、検索フィールドのクエリがあります。一般的な考え方は、完全一致を最初に置きながら、LIKE%%に基づいて結果を選択することです。
たとえば、47を検索する場合、id、surname、またはcompany_nameのいずれかに47が含まれるすべてのものを表示しますが、ID番号47の結果が一番上に表示され、名前を入力した場合も同じになります。
以下の私のコードを参照してください。私の質問を明確にするのに役立つ場合があります。
SELECT id,
IF(company_name IS NOT NULL AND company_name <> '', company_name, surname) AS name,
first_name, country, phone1, isowner, isholidayrenter, isproholidayrenter,
islongtermrenter, isprolongtermrenter, isprobuyer, isbuyer
FROM clients
WHERE id LIKE '$search' OR surname LIKE '$search' OR company_name LIKE '$search'
union all
SELECT id,
IF(company_name IS NOT NULL AND company_name <> '', company_name, surname) AS name,
first_name, country, phone1, isowner, isholidayrenter, isproholidayrenter,
islongtermrenter, isprolongtermrenter, isprobuyer, isbuyer
FROM clients
WHERE id LIKE '%$search%' AND id NOT LIKE '$search' OR surname LIKE '%$search%'
and SURNAME NOT LIKE '$search' OR company_name LIKE '%$search%'
and company_name NOT LIKE '$search'
LIMIT $start, $limit";
`