2021 ソフトウェア設計及び演習用の班Wiki

21::gr01::画面遷移・DB参照モジュール

画面遷移・DB参照モジュール (望月 志光)(尾川 諒羽)

全てapp.js内で処理

トップ画面への遷移

ページ遷移
  • res.render('top.ejs');
発行クエリ
  • 'update questions set answer=0,used=0 '

メイン画面への遷移

ページ遷移
  • res.render('main.ejs',{items:results}); idには選出された場所IDが入っている。
発行クエリ
  • 'SELECT * FROM place ORDER BY RAND() LIMIT 1 ',(error, results) 最初の一回目 ランダムで候補地を一箇所出力するクエリ (※一時的なもの。「詳細は実装できなかった機能」の項目に記載。)
  • 'SELECT * FROM place where id=?',[req.params.id],(error, results) マップ画面からの遷移時 選出されたidに基づいて、詳細データを取り出すクエリ idには選出された場所IDが入っている。

絞り込み(アキネーター)画面への遷移

ページ遷移
  • res.render('akinator.ejs',{items:results}); resultsには選出された質問IDの配列が入っている。
発行クエリ
  • 'SELECT * FROM questions ORDER BY RAND() LIMIT 3',(err, results)=>{ if(err) throw err; 質問の選出をするクエリ resultsには選出された質問IDの配列が入っている。
絞り込み(アキネーター)画面での発行クエリ
  • 'update questions set answer=1,used=1 where qid=?',[req.params.qid],(err, results) 「はい」を選択されたとき、ユーザーの答えを1として質問に紐づけて記録

'update questions set answer=2,used=2 where qid=?',[req.params.qid],(err, results) 「いいえ」を選択されたとき、ユーザーの答えを2として質問に紐づけて記録

マップ画面への遷移

ページ遷移
  • res.render('map.ejs',{items:results}); resultsには選出されたIDの場所の詳細データが入っている。
発行クエリ
  • 'SELECT * FROM place where id=?',[req.params.id],(error, results) 選出された場所IDを基に選出されたidに基づいて、詳細データを取り出すクエリ

実装できなかった機能

  • 絞り込み(アキネーター)画面で記録したユーザーの回答を基に場所を選出する

gr01の班wiki Top


最終更新日:2021/07/30 15:25:47