php - 将 "All"选项添加到下拉列表中

标签 php mysql

我在尝试将“全部”选项添加到下拉列表中时遇到一些麻烦(完全用 php 制作)。 代码如下:

// SLA list
$sql_loc = "SELECT id, name AS name FROM glpi_slas ".$entidade_sw." 
            ORDER BY `name` ASC ";

$result_loc = $DB->query($sql_loc);

$arr_sla = array();
$arr_sla[0] = "-- ". __('Select a SLA', 'dashboard') . " --" ;

while ($row_result = $DB->fetch_assoc($result_loc))     
{ 
    $v_row_result = $row_result['id'];
    $arr_sla[$v_row_result] = $row_result['name'] ;         
} 

$name = 'sel_sla';
$options = $arr_sla;
$selected = $id_sla;

有人知道该怎么做吗? 提前致谢。

P.S.:“全部”选项只是选择所有查询结果,而不是一个(现在是这样)。这样,结果就不会仅限于一项 SLA。

编辑:我应该怎么做才能让“选择 SLA1”选项显示所有票证? (ID 可以从 1 到最后一个可能的值 [在这种情况下为 5])

编辑 2:这是选择门票的代码:

    $sql_cham = 
"SELECT glpi_tickets.id AS id, glpi_tickets.name AS descr, glpi_tickets.date AS date, glpi_tickets.solvedate as solvedate, 
glpi_tickets.status, glpi_tickets.due_date AS duedate, sla_waiting_duration AS slawait, glpi_tickets.type,
FROM_UNIXTIME( UNIX_TIMESTAMP( `glpi_tickets`.`solvedate` ) , '%Y-%m' ) AS date_unix, AVG( glpi_tickets.solve_delay_stat ) AS time,
TIMEDIFF(glpi_tickets.atdate, glpi_tickets.solvedate) AS realtime
FROM glpi_tickets
WHERE glpi_tickets.slas_id = ".$id_sla."
AND glpi_tickets.is_deleted = 0
AND glpi_tickets.date ".$datas2."
AND glpi_tickets.status IN ".$status."
".$entidade."

GROUP BY id DESC
ORDER BY id DESC ";

最佳答案

小心,你的/这个SQL又不安全SQL注入(inject)

使用这个:

"WHERE glpi_tickets.slas_id LIKE ".(empty($id_sla)?'"%"':$id_sla)."
-- instated of this
-- WHERE glpi_tickets.slas_id = ".$id_sla."

关于php - 将 "All"选项添加到下拉列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33719451/

相关文章:

php - 拉拉维尔。在所有 route 保持变量可见

php - Cakephp2 FindBy语句中的sql错误,得到1064语法错误

Mysql:如何在事务中获取S锁

php - MYSQL 重复条目上的 AJAX 响应

mysql - 多个不同于多个表

php - 输出 mysql laravel 集合损坏

Windows 中的 PHP 5.5.21/Apache 2.4/MySQL 5.6.22 出现 PHP PDO "could not find driver"错误

sockets - 如何检测 PHP 套接字监听器上的客户端断开连接?

mysql - 组合来自同一组数据的两个基于时间的查询

Javascript 保留单选按钮值、下拉值和复选框选择值