此時,在部分代碼中,我想顯示一個表中記錄數的結果,但是我收到錯誤訊息 [Object Object] 我見過一些類似的問題,但他們沒有幫助我,我做不知道是否有人可以糾正我在哪里犯了錯誤。
應用程式.js
app.get('/dashboard', (req, res) =>{
connection.query('SELECT COUNT(*) FROM dimensions', function(error, resultsd) {
if (error) {
console.log(error);
res.sendStatus(500);
return;
}
connection.query('SELECT COUNT(*) FROM categorias',function(error, resultsc){
if (error){
console.log(error);
res.sendStatus(500);
return;
}
connection.query('SELECT COUNT(*) FROM subcategoria',function(error, resultss){
if (error){
console.log(error);
res.sendStatus(500);
return;
}
res.render('./dashboard', {
resultsd:resultsd,
resultsc:resultsc,
resultss:resultss
});
})
})
})
})
是的意見/dashboard.ejs
<div class="container-fluid py-4" style="width: 100%; margin-left: 6%; margin-right: 5%;
padding-right: 8%; margin-top: 2%;" >
<div class="row" style="text-align:right;">
<div class="col-xl-3 col-sm-6 mb-xl-0 mb-4">
<div class="card">
<div class="card-header p-3 pt-2">
<div class="icon icon-lg icon-shape bg-gradient-dark shadow-dark text-center border-radius-xl mt-n4 position-absolute">
<i class="fa-solid fa-book"></i>
</div>
<div class="text-right">
<p class="text-sm mb-0 text-capitalize">Dimensiones</p>
<h4 class="text-right-mb-0"><%= resultsd %></h4>
</div>
</div>
</div>
</div>
<div class="col-xl-3 col-sm-6 mb-xl-0 mb-4">
<div class="card">
<div class="card-header p-3 pt-2">
<div class="icon icon-lg icon-shape bg-gradient-primary shadow-primary text-center border-radius-xl mt-n4 position-absolute">
<i class="fa-solid fa-book-open"></i>
</div>
<div class="text-right">
<p class="text-sm mb-0 text-capitalize">Categorias</p>
<h4 class="text-right-mb-0"><%= resultsc %></h4>
</div>
</div>
</div>
</div>
<div class="col-xl-3 col-sm-6 mb-xl-0 mb-4">
<div class="card">
<div class="card-header p-3 pt-2" >
<div class="icon icon-lg icon-shape bg-gradient-success shadow-success text-center border-radius-xl mt-n4 position-absolute">
<i class="fa-solid fa-file"></i>
</div>
<div class="text-right">
<p class="text-sm mb-0 text-capitalize">Subcategorias</p>
<h4 class="text-right-mb-0"><%= resultss %></h4>
</div>
</div>
</div>
</div>
<div class="col-xl-3 col-sm-6">
<div class="card">
<div class="card-header p-3 pt-2">
<div class="icon icon-lg icon-shape bg-gradient-info shadow-info text-center border-radius-xl mt-n4 position-absolute">
<i class="fa-solid fa-user"></i>
</div>
<div class="text-right">
<p class="text-sm mb-0 text-capitalize">Usuarios</p>
<h4 class="text-right-mb-0">$103,430</h4>
</div>
</div>
</div>
</div>
</div>
</div>
我目前正在使用 Phpmyadmin 管理 MYSQL,使用 NodeJS (EJS) 進行渲染。
也試試下面的例子;
res.render('./dashboard', {
resultsd:resultsd[0],
resultsc:resultsc[0].rows,
resultss:resultss[0].count
});
這些訊息或多或少看起來像這樣,但不會在日志中生成任何錯誤。

它是我的控制臺日志;
res.render('./dashboard', {
resultsd:resultsd,
resultsc:resultsc,
resultss:resultss
});
console.log("?? ~ file: app.js ~ line 468 ~ q2 ~ resultss", resultss)
console.log("?? ~ file: app.js ~ line 468 ~ q2 ~ resultsc", resultsc)
console.log("?? ~ file: app.js ~ line 468 ~ q2 ~ resultsd", resultsd)
})
控制臺日志回應
?? ~ file: app.js ~ line 468 ~ q2 ~ resultss [ RowDataPacket { 'COUNT(*)': 5 } ]
?? ~ file: app.js ~ line 468 ~ q2 ~ resultsc [ RowDataPacket { 'COUNT(*)': 4 } ]
?? ~ file: app.js ~ line 468 ~ q2 ~ resultsd [ RowDataPacket { 'COUNT(*)': 5 } ]
這就是我的 app.js / 配置連接
const express = require('express');
const app = express();
var bodyParser = require('body-parser');
const dotenv = require('dotenv');
const bcryptjs = require('bcryptjs')
const session = require('express-session');
const logger = require('./logger');
const morgan = require('morgan');
//Logs
logger.error('Error log example');
logger.warn('Warn log example');
logger.info('Info log example');
app.use(morgan('tiny', { stream: logger.stream }));
//Conexion A SERVIDOR
app.listen(5600,(req, res) =>{
console.log('SERVER RUNING IN http://127.0.0.1:5600/ingresar');
})
//Resultados de Variables
//Envio de variables de base de datos
dotenv.config({path:'./env/.env'});
//Uso de urlencoded - BodyParser
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(bodyParser.json());
//Envio directorio EJS a Publico
var path = require ('path');
app.use(express.static(path.join(__dirname '/public')));
app.set('views', __dirname "/views/");
app.set('view engine', 'ejs');
//Express-Sesion
app.use(session({
secret:'secret',
resave: true,
saveUninitialized:true
}))
//- VARIABLES DATA BASE - Invocar al modulo de conexion
const connection = require('./database/db');
const {response, application} = require('express');
uj5u.com熱心網友回復:
看起來這里發生的事情是物件本身被傳遞到views/dashboard.ejs您只需要數字的地方。您可以在列印陳述句中resultss看到[ RowDataPacket { 'COUNT(*)': 5 } ]. 因此,為了將它傳遞給模板,您需要訪問resultss[0]['COUNT(*)'],這將等于 5。這是COUNT(*)陣列第一個元素的元素,resultss。對于整個部分,您想要的是以下內容:
res.render('./dashboard', {
resultsd:resultsd[0]['COUNT(*)'],
resultsc:resultsc[0]['COUNT(*)'],
resultss:resultss[0]['COUNT(*)']
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/525236.html
上一篇:傳播物件并添加標志node.js
下一篇:MySql洗掉具有重復列內容的行
