Почему то логика не срабатывает и query равно ничему
Почему то логика не срабатывает и query равно ничему
app.get('/smart', function(req, res) { var order; var side; var query; var smartphopneList=[]; order='price'; side='ASC'; // Connect to MySQL database. var connection = getMySQLConnection(); connection.connect(); // Do the query to get data. if((order=='name') && (side =='ASC')){ query='SELECT `id`,`prod`,`name`,`description`,`photo`,`price`,`popularity`,`sale` FROM `smartphone` ORDER BY `name` ASC'; }else if((order=='name') && (side=='DESC')){ query='SELECT `id`,`prod`,`name`,`description`,`photo`,`price`,`popularity`,`sale` FROM `smartphone` ORDER BY `name` DESC'; }else if((order=='price') && (side=='ASC')){ query='SELECT `id`,`prod`,`name`,`description`,`photo`,`price`,`potypulari`,`sale` FROM `smartphone` ORDER BY `price` ASC'; }else if((order=='price') && (side=='DESC')){ query='SELECT `id`,`prod`,`name`,`description`,`photo`,`price`,`popularity,`sale`` FROM `smartphone` ORDER BY `price` DESC'; }else if((order=='popularity') && (side=='ASC')){ query='SELECT `id`,`prod`,`name`,`description`,`photo`,`price`,`popularity`,`sale` FROM `smartphone` ORDER BY `popularity` ASC'; }else if((order=='popularity') && (side=='DESC')){ query='SELECT `id`,`prod`,`name`,`description`,`photo`,`price`,`popularity`,`sale` FROM `smartphone` ORDER BY `popularity` DESC'; }else if((order=='sale') && (side=='DESC')){ query='SELECT `id`,`prod`,`name`,`description`,`photo`,`price`,`popularity`,`sale`,(`price` / 100 * `discount`) AS `tsale` FROM `smartphone` ORDER BY `newprice` ASC'; }else if((order=='sale') && (side=='DESC')){ query='SELECT `id`,`prod`,`name`,`description`,`photo`,`price`,`popularity`,`sale`,(`price` / 100 * `discount`) AS `tsale` FROM `smartphone` ORDER BY `newprice` DESC'; } connection.query(query, function(err, rows, fields) { if (err) { res.status(500).json({"status_code": 500,"status_message": "internal server error"}); } else { // Loop check on each row for (var i = 0; i < rows.length; i++) { // Create an object to save current row's data var smartphopne = { 'id':rows[i].id, 'prod':rows[i].prod, 'name':rows[i].name, 'photo':rows[i].photo, 'description':rows[i].description, 'price':rows[i].price, 'len':rows.length, 'tsale':rows.tsale, 'popularity':req.cookies.sidepopularity, 'pricee':req.cookies.sideprice, 'sale':req.cookies.sidesale, 'sett':req.cookies.sett,/**/ } // Add object into array smartphopneList.push(smartphopne); } // Render index.pug page using array res.render('index', {"smartphopneList": smartphopneList}); } }); // Close the MySQL connection connection.end(); }); где ошибка |
И зачем куча условий, если достаточно сразу подставить значения в запрос (опять таки вопрос откуда они):
var query = 'SELECT `id`,`prod`,`name`,`description`,`photo`,`price`,`popularity`,`sale`, `price` / 100 * `discount` `tsale` FROM `smartphone` ORDER BY '+order+' '+side; Соотнести сразу и newprice к sale. |
почему условие не срабатывает? я вывожу console.log(query) пишет unsigned
|
Не в курсе, не спец по node. А вот ненужность условий тут и не спецу видна. То есть, явно прописать order='price'; side='ASC';, а затем узнавать условиями, что мы написали, это перебор.
|
Цитата:
А где ставите console.log Ну и так (не по делу) есть ошибки стр 17 `potypulari` стр 19 `sale`` |
Часовой пояс GMT +3, время: 16:26. |