Display count value in the mysql database table us

2019-09-14 07:56发布

I have a webpage that displays number of applications in certain grades. For example, number of applications in grade 6, grade 7 and grade 8. The functions that I use for grade 6 and grade 7 are as below:

function getGrade6Applicants(req, res, next) {
connection.query('SELECT COUNT(*) AS grade_6 FROM applications WHERE grade="Grade 6" ', function (err, rows, fields) {
    if (err) {
        return next(err);
    };
    req._applications = rows;
    return next();
});}

function getGrade7Applicants(req, res, next) {
connection.query('SELECT COUNT(*) AS grade_7 FROM applications WHERE grade="Grade 7" ', function (err, rows, fields) {
    if (err) {
        return next(err);
    };
    req._applications = rows;
    return next();
});}

Then I use this function to my GET request as below. If it's just for grade_6, it works fine. The name of the mysql table is "applications".

/* GET dashboard page */
router.get('/dashboard', getGrade6Applicants, function (req, res, next) {
   res.render('admission/dashboard', {
       'applications': req._applications
   });
})

This gives me the number of applications in grade6 in my applications table in mysql database.

I use this in my dashboard.handlebars page as {{grade_6}} using appropriate {{#if}} and {{#each}} built in helpers.

The problem is whenever I wanted to add second function to display number of applications in grade 7, what I have is only grade 7 applications. Grade 6 is not shown. Here is the GET request that I use for multiple values:

/* GET dashboard page */
router.get('/dashboard', getGrade6Applicants, getGrade7Applicants, function (req, res, next) {
   res.render('admission/dashboard', {
       'applications': req._applications
   });
})

1条回答
兄弟一词,经得起流年.
2楼-- · 2019-09-14 08:27

Here is my solution that works:

my router js file:

router.get('/dashboard', getGrade7Applicants, getGrade8Applicants, function (req, res, next) {
res.render('admission/dashboard', {
    applications: {
            'grade7': req._applications7[0],
            'grade8': req._applications8[0],
    }

});
});

And here is the html template:

 {{#if applications}}
     {{#if applications.grade7}}
         {{applications.grade7.grade7}}
      {{/if}}
     .......
   {{#if applications.grade8}}
         {{applications.grade8.grade8}}
      {{/if}}
{{/if}}
查看更多
登录 后发表回答