クイズのランダム抽選にすべてを追加
This commit is contained in:
parent
fd6967f25d
commit
0ebdda5056
16
web/app.py
16
web/app.py
@ -169,12 +169,16 @@ def random_quiz_route():
|
||||
data = request.json
|
||||
keyword = data.get('keyword')
|
||||
db = get_db()
|
||||
quiz_master_data = db.query(QuizMaster).filter(
|
||||
(QuizMaster.keyword1 == keyword) |
|
||||
(QuizMaster.keyword2 == keyword) |
|
||||
(QuizMaster.keyword3 == keyword)
|
||||
).all()
|
||||
|
||||
|
||||
if keyword: # 特定のキーワードが指定された場合
|
||||
quiz_master_data = db.query(QuizMaster).filter(
|
||||
(QuizMaster.keyword1 == keyword) |
|
||||
(QuizMaster.keyword2 == keyword) |
|
||||
(QuizMaster.keyword3 == keyword)
|
||||
).all()
|
||||
else: # "すべて"が選択された場合、全クイズからランダムに選択
|
||||
quiz_master_data = db.query(QuizMaster).all()
|
||||
|
||||
if not quiz_master_data:
|
||||
return jsonify({'error': '指定されたキーワードでクイズマスターが見つかりません'}), 404
|
||||
|
||||
|
@ -98,6 +98,7 @@
|
||||
const response = await fetch('/unique_keywords');
|
||||
const keywords = await response.json();
|
||||
keywords.sort(); // ここでキーワードを五十音順にソート
|
||||
keywords.unshift('すべて'); // すべてを選択できるように先頭に追加
|
||||
const keywordList = document.getElementById('uniqueKeywordsList');
|
||||
keywordList.innerHTML = '';
|
||||
keywords.forEach(keyword => {
|
||||
@ -113,11 +114,11 @@
|
||||
|
||||
async function drawRandomQuiz(event) {
|
||||
event.preventDefault();
|
||||
const keyword = document.getElementById('uniqueKeywordsList').value;
|
||||
if (!keyword) {
|
||||
document.getElementById('message').innerText = 'キーワードを選択してください';
|
||||
return;
|
||||
let keyword = document.getElementById('uniqueKeywordsList').value;
|
||||
if (keyword === "すべて") {
|
||||
keyword = null; // すべてを選択した場合、サーバーにnullを送信
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await fetch('/random_quiz', {
|
||||
method: 'POST',
|
||||
|
Loading…
Reference in New Issue
Block a user