-1

(city-name-date) という 3 つのフィールドがあり、ユーザーが 1 つのフィールド、2 つのフィールド、または 3 つのフィールドを一緒に使用して検索できるようにしたいと考えています。それを行うための最善の方法が必要です....データベースにphp codeigniterとmysqlを使用しています。

4

2 に答える 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 に答える