(city-name-date) という 3 つのフィールドがあり、ユーザーが 1 つのフィールド、2 つのフィールド、または 3 つのフィールドを一緒に使用して検索できるようにしたいと考えています。それを行うための最善の方法が必要です....データベースにphp codeigniterとmysqlを使用しています。
2 に答える
2
元:
$sql = 'SELECT * FROM table_name WHERE 1=1 ';
if(isset($_POST['city']) && !empty($_POST['city']) )
$sql .= ' AND city LIKE "%'.$_POST['city'].'%" ';
検索する列またはフィールドごとにもう 1 つ。
于 2013-01-21T11:46:51.660 に答える
1
あなたのSQL文字列はこれに沿ったものでなければなりません:
SELECT * FROM tabel WHERE city LIKE '%".$city."%' OR name LIKE '%".$name."%' OR date LIKE '%".$date."%'
上記のクエリは、条件の 1 つが true の場合に行を返します。Fx 都市に「York」、名前に「Alex」と入力すると、都市のセルに「York」が含まれるすべての行が返されます (York はその都市名にあるため、「New York」が返されます)。ただし、名前に Alex が含まれるすべての行も返されます。
すべての基準が真である行のみを返したい場合は、「OR」の代わりに「AND」を入力する必要があります。
于 2013-01-21T11:47:50.257 に答える