0

.class.phpファイルに、このクエリがあります。

public function findschedules($arricao, $depicao, $airline, $aircraft)   {
    $query = "SELECT db_schedules.*, db_aircraft.name AS aircraft, db_aircraft.registration
            FROM db_schedules, db_aircraft
            WHERE db_schedules.depicao LIKE '$depicao'
            AND db_schedules.arricao LIKE '$arricao'
            AND db_schedules.code LIKE '$airline'
            AND db_schedules.aircraft LIKE '$aircraft'
            AND db_aircraft.id LIKE '$aircraft'
            AND db_schedules.enabled = '1'
            AND db_schedules.daysofweek LIKE '%{$day}%'";
    return DB::get_results($query);
}

パブリック関数は、検索を実行するときに使用されます。$this->show('airport_search.tpl');ただし、ファイルはすべてのHTMLコードを含むテンプレートファイルにリンクしており、その中には選択ボックスがあります。

<select style="border:1px solid #DCDCDC; color:#003663; font-size:11px;" class="search" name="day" id="day">
                <option value="0">Sunday</option>
                <option value="1">Monday</option>
                <option value="2">Tuesday</option>
                <option value="3">Wednesday</option>
                <option value="4">Thursday</option>
                <option value="5">Friday</option>
                <option value="6">Saturday</option>
            </select>

daysofweek以下の行は、テーブルの列で文字列の一部を検索するように設計されていdb_schedulesます。の選択ボックスから変数を割り当てようとしていますairport_search.tploption value=""理想的には、変数を取得してクエリに割り当てたいと思います。

AND db_schedules.daysofweek LIKE '%{$day}%'";

さらに、daysofweekcolumnはvarchar(7)タイプのフィールドであり、デフォルト値は0123456。です。それらは日を表し、0は日曜日、1-6月曜日から土曜日です。したがって、クエリの目的の出力は、選択ボックスでユーザーが指定した日を探すことです。

別のファイルの選択ボックスへのユーザー入力に基づいて、オプションボックスからクエリに変数を割り当てるにはどうすればよいですか?

4

1 に答える 1

1
$day = $_POST['day'];

valueフォームが送信されたら、フォームの選択されたオプションから属性を取得するために必要なのはこれだけです。

ただし、は使用しないでください$day。mysqli / PDOを使用して、次のようにパラメーター化されたクエリを記述します。

$stmt = $pdo->prepare("...AND daysofweek LIKE ?");
$stmt->execute("%$day%");
于 2013-02-14T00:25:31.523 に答える