Код (Javascript): app.get('/smart', function(req, res) { var order; var side; var prmin; var prmax; order=req.cookies.sett; if(order=='price'){ side=req.cookies.sideprice; }else if(order='popularity'){ side=req.cookies.sidepopularity; }else if(order='tsale'){ side='tsale'; } if(!order){order='name';} if(!side){side='ASC';} var query; var smartphopneList=[]; // Connect to MySQL database. var connection = getMySQLConnection(); // Do the query to get data. connection.connect(); quer='SELECT `id`,`prod`,`name`,`description`,`photo`,`price`,`popularity`,`sale`,(`price` -`price` / 100 * `sale`) AS `tsale` FROM `smartphone` ORDER BY `tsale` ASC'; connection.query(quer, function(err, rowes, fields) { // Loop check on each row prmin=rowes[0].tsale; prmax=rowes[(rowes.length-1)].tsale; // Render index.pug page using array }); if(req.cookies.prmin==true){ prmin=req.cookies.prmin; } if(req.cookies.prmax==true){ prmax=req.cookies.prmax; } query='SELECT `id`,`prod`,`name`,`description`,`photo`,`price`,`popularity`,`sale`,(`price` -`price` / 100 * `sale`) AS `tsale` FROM `smartphone` WHERE `price` >= '+prmin+' AND `price` <= '+prmax+' ORDER BY '+order +' '+side; connection.query(query, function(err, rows, fields) { if (err) { res.status(500).json({"status_code": 500,"status_message": "internal server error"}); console.log(err); } 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, 'sale':rows[i].sale, 'len':rows.length, 'tsale':rows[i].tsale, 'prmin':prmin, 'prmax':prmax, } // Add object into array smartphopneList.push(smartphopne); } // Render index.pug page using array res.render('index', {"smartphopneList": smartphopneList}); } }); // Close the MySQL connection connection.end(); }); вот ошибка: бд есть значения но почему то не выводит. поменял значения вручную, запрос выдает значения во вью а в запросе пишет undefined. когда втавляю в typeof тоже пишет number Код (Javascript): Error: ER_BAD_FIELD_ERROR: Unknown column 'undefined' in 'where clause' at Query.Sequence._packetToError (C:\xampp\htdocs\mysite.local\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14) at Query.ErrorPacket (C:\xampp\htdocs\mysite.local\node_modules\mysql\lib\protocol\sequences\Query.js:79:18) at Protocol._parsePacket (C:\xampp\htdocs\mysite.local\node_modules\mysql\lib\protocol\Protocol.js:291:23) at Parser._parsePacket (C:\xampp\htdocs\mysite.local\node_modules\mysql\lib\protocol\Parser.js:433:10) at Parser.write (C:\xampp\htdocs\mysite.local\node_modules\mysql\lib\protocol\Parser.js:43:10) at Protocol.write (C:\xampp\htdocs\mysite.local\node_modules\mysql\lib\protocol\Protocol.js:38:16) at Socket.<anonymous> (C:\xampp\htdocs\mysite.local\node_modules\mysql\lib\Connection.js:88:28) at Socket.<anonymous> (C:\xampp\htdocs\mysite.local\node_modules\mysql\lib\Connection.js:526:10) at Socket.emit (events.js:315:20) at addChunk (_stream_readable.js:295:12) -------------------- at Protocol._enqueue (C:\xampp\htdocs\mysite.local\node_modules\mysql\lib\protocol\Protocol.js:144:48) at Connection.query (C:\xampp\htdocs\mysite.local\node_modules\mysql\lib\Connection.js:198:25) at C:\xampp\htdocs\mysite.local\app.js:161:13 at Layer.handle [as handle_request] (C:\xampp\htdocs\mysite.local\node_modules\express\lib\router\layer.js:95:5) at next (C:\xampp\htdocs\mysite.local\node_modules\express\lib\router\route.js:137:13) at Route.dispatch (C:\xampp\htdocs\mysite.local\node_modules\express\lib\router\route.js:112:3) at Layer.handle [as handle_request] (C:\xampp\htdocs\mysite.local\node_modules\express\lib\router\layer.js:95:5) at C:\xampp\htdocs\mysite.local\node_modules\express\lib\router\index.js:281:22 at Function.process_params (C:\xampp\htdocs\mysite.local\node_modules\express\lib\router\index.js:335:12) at next (C:\xampp\htdocs\mysite.local\node_modules\express\lib\router\index.js:275:10) { code: 'ER_BAD_FIELD_ERROR', errno: 1054, sqlMessage: "Unknown column 'undefined' in 'where clause'", sqlState: '42S22', index: 0, sql: 'SELECT `id`,`prod`,`name`,`description`,`photo`,`price`,`popularity`,`sale`,(`price` -`price` / 100 * `sale`) AS `tsale` FROM `smartphone` WHERE `price` >= undefined AND `price` <= undefined ORDER BY popularity ASC' }[code]
У вас не определены prmin ,и prmax Скорее всего читаете кук, а Кук там ещё нет. На этот случай надо какое то значение по умолчанию А ещё лучше формировать часть условия динамически... Если есть мин и Макс то формировать условие иначе нет
вот вю Код (Javascript): html head title= 'Smartphones' style include style.css include bootstrap.css include index.js body(style="background-image:'../background/background.jpg'") table(class='index top') tr td a(style="color:green;margin-left:200px;border:1px solid black;padding:4px;")="Сортировать по: " a(href='http://localhost:3000/set-cookie/price/smart/' style='color:black;border:1px solid black;padding:4px;border-radius:3px;font-weight:bold;margin-left:5px')=" По Цене" a(href='http://localhost:3000/set-cookie/tsale/smart/' style='color:white;border:1px solid black;background-color:blue;padding:4px;border-radius:3px;font-weight:bold;margin-left:5px')=" По Размеру Скидки" a(href='http://localhost:3000/set-cookie/popularity/smart/' style='color:white;border:1px solid black;white;background-color:red;padding:4px;border-radius:3px;font-weight:bold;margin-left:5px')=" По Популярности " table(class='index') tr td(style='width:200px;height:50px;') td(style='width:700px;height:50px;') td(style='width:150px;height:50px;') td(class='rightfacet' rowspan=smartphopneList.length+1 style='height:50px;') table(class='menu' style='width:350px') tr td b="Цена" td tr td="Мин." input(id='prmin' class='bradius' onblur="" type="text" name="prmin" placeholder="" value=''+smartphopneList[0].prmin onclick='jsprmin()') td="Макс." input(id="prmax" class='bradius' type="text" name="prmax" placeholder="" value=''+smartphopneList[0].prmax onclick='jsprmax()') вот index.js Код (Javascript): function jsprmin(){ var a=document.getElementById("prmin").value; document.location.href = "http://localhost:3000/set-menu-cookie/prmin/"+a+"/"; } function jsprmax(){ var a=document.getElementById("prmax").value; document.location.href = "http://localhost:3000/set-menu-cookie/prmax/"+a+"/"; } если вставить index.js в конце то тупо после инпутов пишется код функций jsprmin() и 'jsprmax()