【发布时间】:2017-10-05 10:04:32
【问题描述】:
我正在开发一个 NodeJS/MySQL 应用程序。
有一个下拉菜单(salesperson),每个选项都有一个值,该值作为条件发送到 MySQL 查询中,用于同一表的行。
我需要有一个“全部”选项(适用于销售人员),它不会基于此选择抽象结果,它的作用就像忽略MySQL 查询可以作为通配符使用,这样更有意义。
但是,当我选择了“所有销售人员”(没有价值)时,我无法弄清楚如何通过或不通过所有这些标准。
将表单的选定选项作为值传递给 MySQL 查询的函数
var field = req.body.mode;
var start_date = req.body.start_date;
var end_date = req.body.end_date;
var operator = req.body.operator;
var paid_operator = req.body.paid_operator;
var user_id = user.id;
var salesperson = req.body.salesperson;
db.select_between_dates_office( table, field, start_date, end_date, user_id,
salesperson, function(data) { // do something
});
MySQL 查询
this.select_between_dates_office = function( table, field, start_date, end_date, user_id,
salesperson, callback ){
var query_string = "select * from "+ table +" where "+ field +" between '"+ start_date +"'
and '"+ end_date + "' and user_id='" + user_id +"' and salesperson='" + salesperson + "'";
connection.query( query_string, function(err,rows){
callback (rows);
})
}
【问题讨论】:
-
您可以使用
case指令创建查询。比如that answer。