特定のグレードのアプリケーション数を表示するWebページがあります。例えば、私は6年生と7年生のために使用年生6中のアプリケーションの数、等級7およびグレード8の機能は以下の通りです:Nodejsプロジェクトのハンドルバーを使用したmysqlデータベーステーブルのカウント値の表示
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();
});}
その後、私は以下のように私のGETリクエストにこの機能を使用しています。それがちょうどgrade_6の場合、それは正常に動作します。 mysqlテーブルの名前は "applications"です。
/* GET dashboard page */
router.get('/dashboard', getGrade6Applicants, function (req, res, next) {
res.render('admission/dashboard', {
'applications': req._applications
});
})
これは私のアプリケーションテーブルのグレード6でのアプリケーションの数をmysqlデータベースに与えます。
これは、適切な{{#if}}と{{#each}}のヘルパーを使用して、私のdashboard.handlebarsページで{{grade_6}}として使用します。
問題は、グレード7のアプリケーションの数を表示するために2番目の機能を追加したい場合は、グレード7のアプリケーションだけです。グレード6は表示されません。ここで私は、複数の値に使用GETリクエストは次のとおりです。ここで
/* GET dashboard page */
router.get('/dashboard', getGrade6Applicants, getGrade7Applicants, function (req, res, next) {
res.render('admission/dashboard', {
'applications': req._applications
});
})
それぞれのgetGradeXApplicationsは同じ変数を上書きし、結果を格納します(req._applications)。 – PeterVC
私はウェブページ上でそれを使うことができるので、どのようにオーバーライドして別の結果を得ることができますか? – GoGo
いくつかの方法:異なる変数名を使用して、配列などに押し込む – PeterVC