我正在实施考试门户。我有老师和学生作为用户。
教师为特定主题生成题集以进行考试。根据考试的满分,他有4种选择(20分,50分,80分和100分),并且在选择分数时的持续时间也固定为30分钟,60分钟,90分钟和120分钟。
我有一个问题表。该字段具有问题,答案和级别(轻松,中等,困难)的字段。简易问题1分,中级问题2分和硬级问题3分。
老师可以将任意数量的问题添加到集合中。问题将从数据库中随机获取。每个学生还应在20分中获得6个简单,4个中级和2个硬水平的问题,即按照水平标准随机抽取总共12个问题。同样,对于50个标记集,必须提取15个EASY级别,10个MEDIUM级别和3个HARD级别的问题,依此类推。
请避免您认为必须存在的所有其他条件,并帮助我形成mysql查询,或者只是为我提供有关应使用什么sql子句的一些提示。
答案 0 :(得分:1)
在第一次查询时,我还会额外使用两次union select,以便每个选择都可以按问题级别进行设置。
答案 1 :(得分:-1)
仅从标题来看,我猜你正在寻找
<script>
// [ ADDED ]
function updateCategoryFilters(category) {
// Reset visiblitiy of all fields
for(const node of document.querySelectorAll('#custom_fields .custom-field-cat')) {
node.style.display = "none";
}
if(category) {
category = category.toLowerCase()
// If category is valid, set visiblitiy of fields for that category
for(const node of document.querySelectorAll('#custom_fields .custom-field-cat-' + category)) {
node.style.display = ""; // [ UPDATED ]
}
}
}
var mainCat = document.getElementById("main_cat")
// When the user changes the main_cat select, check it's value. If
// value == "-1" then hide custom_fields. Otherwise display custom
// fields as inline
mainCat.addEventListener("change", function() {
// [ UPDATED ]
updateCategoryFilters(mainCat.value)
})
//[ADDED]
// Extract category from current url
const category = location.pathname
.split('/') // Break pathname to array of strings, split by '/' characters
.filter(function(item) { return !!item; }) // Remove any empty strings from array
.splice(-1); // Get last string (your category) from array
// [ UPDATED ]
// Update value of select element to current category
updateCategoryFilters(category);
// [ UPDATED ]
document.getElementById("main_cat").value = category;
</script>