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.tpl。理想情况下,我希望从中获取变量option 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 回答