html - 如何在EJS中的表中的特定单元格中排列数据

标签 html mysql node.js ejs

我试图在我的 home.ejs 上以表格格式显示记录,但在与一个特定记录关联的单个单元格中显示多个记录的编码时遇到问题

这里我对一个 Task_Name 有 3 条评论,根据我的代码,每行显示记录意味着显示 2X3 总共 6 行,但我需要显示一个 Task_Name - 所有评论都需要显示在单行中,然后我仅获取 2 行

抱歉解释太长,请提供逻辑或解决方案

电流输出

预期输出

输出屏幕截图

enter image description here

EJS 部分:

<% for(var i=0; i < status_info.length; i++) { %>
    <tr>
        <td><%= i+1 %></td> 
        <td><%= status_info[i].Task_Name %></td>
        <td><%= status_info[i].status_Name %></td>
        <td><%= status_info[i].Cmnt_Details %>
    </tr>
<% } %>

服务器.js:

app.get('/',(req, res)=>{
    var getQuery = "select * from table_info"        
    mysqlConnection.query(getQuery,function(err,result){
        if(err) throw err
        else {
            res.render('DashPrac',{status_info:result});
            // console.log(result.length)
        }
    })
});

我从数据库获取的数据

[ RowDataPacket {
Task_Name: 'Architecture Design',
Cmnt_Details: 'Trying to load the data in all the tables...',
status_Name: 'WIP' },
 RowDataPacket {
Task_Name: 'Architecture Design',
Cmnt_Details: 'Checked the details',
status_Name: 'WIP' },
 RowDataPacket {
Task_Name: 'Architecture Design',
Cmnt_Details: 'Testing is going on',
status_Name: 'WIP' },
 RowDataPacket {
Task_Name: 'Testing Plan',
Cmnt_Details: 'Teting plan to be prepared',
status_Name: 'InProgress' } ]

最佳答案

我同意上面@Dhruv的回答,但是如果您不想在 server.js 中进行任何更改,而是想使用 EJS,您的代码应该类似于:

<% 
var prevTask_Name = status_info[0].Task_Name;
var prevStatus_Name = status_info[0].status_Name;

for(var i=0; i < status_info.length; i++) {  
    <tr>
        <td>
%>
<%= i+1 %></td> 
<%  if(i == 0 )
    {
%>
        <td><%= status_info[i].Task_Name %></td>
<%  }
    else
    {
        if(status_info[i].Task_Name == prevTask_Name)
        {
%>
            <td>&nbsp;</td>
<%
        }
        else
        {
%>
            <td><%= status_info[i].Task_Name %></td>
<%      }
    }
    if(i == 0 )
    {
%>
        <td><%= status_info[i].status_Name %></td>
<%  }
    else
    {
        if(status_info[i].status_Name == prevStatus_Name)
        {
%>
            <td>&nbsp;</td>
<%      }
        else
        {
%>
            <td><%= status_info[i].Status_Name %></td>
<%      }
    }
%>  
        <td><%= status_info[i].status_Name %></td>
        <td><%= status_info[i].Cmnt_Details %>
<% 
prevTask_Name = status_info[i].Task_Name;
prevStatus_Name = status_info[i].status_Name;
} %>

关于html - 如何在EJS中的表中的特定单元格中排列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57710430/

相关文章:

node.js - NodeJS Express AMP 表单 req.body。 POST未定义,GET成功

javascript - 为什么关闭 Charles 应用程序后无法访问网站?

javascript - 如何从父文档捕获 iframe 内的刷新?

html - 同时悬停到多个元素?

javascript - 在浏览器调整大小之前,Thinglink 图像不可见

javascript - Bootstrap 下拉数据切换未在复杂的导航设置中显示

mysql - 正确设置AWS RDS以进行本地mysql迁移,MySQLdump

MySQL 与斜杠匹配

MySQL - 合并 2 个表

json - Javascript从node/express服务器读取gz文件