0

多分私はこれを正しく考えていませんが、私は会社のテーブルを持っています:

name
address
city
state
zip

name と city の 2 つのフィールドを検索したいと考えています。

私のクエリは次のとおりです。

SELECT DISTINCT    city, name 
FROM               companies 
WHERE              city 
LIKE               '%$search%' 
OR                 name 
LIKE               '%$search%'

結果コードは次のとおりです。

echo '<a href="city.php?city=' . $results['city'] . '">' 
    . $results['city'] . '</a>';

これは、ユーザーが都市を検索する場合にのみ考慮されます。誰かが会社名を検索した場合にページを表示するにはどうすればよいですか? 何かのようなもの:

echo '<a href="company.php?co=' . $results['name'] . '">' 
    . $results['name'] . '</a>';

検索内容に応じて適切な結果を表示する方法はありますか?

4

2 に答える 2

0

結果の 2 つのフィールドを検索テキストと比較して、都市または名前のどちらが一致したかを確認してください。何かのようなもの:

if($search === $results['city']) echo '<a href="city.php?city=' . $results['city'] . '">'. $results['city'] . '</a>'; elseif($search === $results['name'])
echo '<a href="company.php?co=' . $results['name'] . '">'. $results['name'] . '</a>';

正しく理解できたかどうかわかりません...

于 2013-09-25T22:36:57.793 に答える
0

検索ボックスが 1 つしかない場合、ユーザーが探しているものをどのように知ることができますか?

チェックボックス/ラジオ ボタンを追加して、cityまたはのいずれかを選択できますname

それをしたくない場合は、ユーザーが何を探しているのかわかりません。ただし、2 つのクエリを実行できます。1 つは 用でcity、もう 1 つは 用nameです。結果が得られれば、少なくとも結果がどこから来ているかがわかります。

于 2013-09-25T21:53:56.983 に答える