记录用户首选项并将其写入数据库

Recording user preferences and writing them to a database

本文关键字:数据库 用户 首选项 记录      更新时间:2023-09-26

我需要记录五个项目的用户偏好,让他们从五个单选按钮中选择一个(每个项目5个),这些单选按钮将标记为"第一选择"、"第二选择"等……但我不知道如何在服务器上记录(node.js express)。

如果我不清楚自己,在一个理想的世界里,我会有这样的东西。。。

//Student Project Preferences
app.get('/api/studentPrefs', function (req, res) {
    console.log("Route API/studentPrefs");
    console.log(req.query.name);
    var project_1 = req.query.project_1,
        project_2 = req.query.project_2,
        project_3 = req.query.project_3,
        project_4 = req.query.project_4,
        project_5 = req.query.project_5;
    
SUPER-pseudo-code...
----------
if(project_1 || project_2 || project_3 || project_4 || project_5 == 'choice_1') {
      INSERT INTO db (choice_1) VALUES (relevant topic)
    }
    else if(project_1 || project_2 || project_3 || project_4 || project_5 == 'choice_2') {
    ....etc
    }
});

<fieldset>
<legend>&nbsp;Please choose your prefered project&nbsp;</legend>
<form id="studentPrefsForm" action="api/studentPrefs" method="get">
    <label for="projectChoice_1">Project Choice 1</label>
    <input type="radio" name="project_1" value="choice_1" />
    <input type="radio" name="project_1" value="choice_2" />
    <input type="radio" name="project_1" value="choice_3" />
    <input type="radio" name="project_1" value="choice_4" />
    <input type="radio" name="project_1" value="choice_5" />
    <br />
    <label for="projectChoice_2">Project Choice 2</label>
    <input type="radio" name="project_2" value="choice_1" />
    <input type="radio" name="project_2" value="choice_2" />
    <input type="radio" name="project_2" value="choice_3" />
    <input type="radio" name="project_2" value="choice_4" />
    <input type="radio" name="project_2" value="choice_5" />
    <br />
    <label for="projectChoice_3">Project Choice 3</label>
    <input type="radio" name="project_3" value="choice_1" />
    <input type="radio" name="project_3" value="choice_2" />
    <input type="radio" name="project_3" value="choice_3" />
    <input type="radio" name="project_3" value="choice_4" />
    <input type="radio" name="project_3" value="choice_5" />
    <br />
    <label for="projectChoice_4">Project Choice 4</label>
    <input type="radio" name="project_4" value="choice_1" />
    <input type="radio" name="project_4" value="choice_2" />
    <input type="radio" name="project_4" value="choice_3" />
    <input type="radio" name="project_4" value="choice_4" />
    <input type="radio" name="project_4" value="choice_5" />
    <br />
    <label for="projectChoice_5">Project Choice 5</label>
    <input type="radio" name="project_5" value="choice_1" />
    <input type="radio" name="project_5" value="choice_2" />
    <input type="radio" name="project_5" value="choice_3" />
    <input type="radio" name="project_5" value="choice_4" />
    <input type="radio" name="project_5" value="choice_5" />
    <br />
    <br />
    <input type="submit" value="Send my Choices">
</form>
</fieldset>

很抱歉,如果上面的JS解释有点太伪,我希望它可以理解

我知道我的"理想"解决方案存在一些问题,例如IF语句没有返回哪个项目值是"choice_1/2/3/4/5",这样我就可以将项目名称写入数据库中的相关choice_x列,但在这一点上,我会接受任何东西。

如前所述,我是一年级的学生,所以如果你能找到更好的方法,我非常愿意接受建议或批评,再次感谢。

即使您的JS代码可以进行优化,它也会做得很好。你写的是页面的客户端。根据您使用的平台/语言,您需要将这些值传递到将进行保存的服务器端。让我们知道您在服务器端使用的语言是什么-php、.NET等。