Php 如何同时提交多个回复(问卷工具)
我有一个我正在使用的问卷工具,它一次显示一个问题(从下拉菜单中选择),您可以选择答案,当单击提交按钮时,它将使用选择的选项更新数据库。我现在需要在同一页上有多个问题,我不知道如何扩展代码来实现这一点。我是新来的,如果这是个愚蠢的问题,我很抱歉 我的流程代码如下:Php 如何同时提交多个回复(问卷工具),php,mysql,Php,Mysql,我有一个我正在使用的问卷工具,它一次显示一个问题(从下拉菜单中选择),您可以选择答案,当单击提交按钮时,它将使用选择的选项更新数据库。我现在需要在同一页上有多个问题,我不知道如何扩展代码来实现这一点。我是新来的,如果这是个愚蠢的问题,我很抱歉 我的流程代码如下: if($selected_radio == "A") { $votedSQL = "UPDATE tangible SET VotedA = VotedA + 1 WHERE ID = ?";
if($selected_radio == "A") {
$votedSQL = "UPDATE tangible SET VotedA = VotedA + 1 WHERE ID = ?";
$voteMessage = insert_vote($db_found, $votedSQL, $idNumber);
}
else if($selected_radio == "B"){
$votedSQL = "UPDATE tangible SET VotedB = VotedB + 1 WHERE ID = ?";
$voteMessage = insert_vote($db_found, $votedSQL, $idNumber);
}
else if($selected_radio == "C"){
$votedSQL = "UPDATE tangible SET VotedC = VotedC + 1 WHERE ID = ?";
$voteMessage = insert_vote($db_found, $votedSQL, $idNumber);
}
else if($selected_radio == "D"){
$votedSQL = "UPDATE tangible SET VotedD = VotedD + 1 WHERE ID = ?";
$voteMessage = insert_vote($db_found, $votedSQL, $idNumber);
}
else {
error messages
在db中插入投票:
function insert_vote($db, $sql, $id) {
$stmt = $db->prepare($sql);
$stmt->bind_param('i', $id);
$stmt->execute();
我使用url跟踪投票人:
if (isset($_GET['h1'])) {
$qID = $_GET['h1'];
} else {
$qID = 1;
}
请让我知道如果你还需要什么,我感谢任何帮助提前 当然,您可以通过以下方式进行简化:
if (preg_match('/^[A-D]$/', $selected_radio)) {
$votedSQL = "UPDATE tangible SET Voted{$selected_radio} = Voted{$selected_radio} + 1 WHERE ID = ?";
$voteMessage = insert_vote($db_found, $votedSQL, $idNumber);
} else // error handling
我确信您还可以进行其他优化,但这至少减少了一个麻烦。好吧,您当然可以通过以下方式进行一些简化:
if (preg_match('/^[A-D]$/', $selected_radio)) {
$votedSQL = "UPDATE tangible SET Voted{$selected_radio} = Voted{$selected_radio} + 1 WHERE ID = ?";
$voteMessage = insert_vote($db_found, $votedSQL, $idNumber);
} else // error handling
我确信您还可以进行其他优化,但这至少减少了一个问题。我认为您不应该这样做。如果您有一个计数器,则只能使用“field=field+1”。在你的情况下,我会插入答案,然后数一数。我认为你不应该这样做。如果您有一个计数器,则只能使用“field=field+1”。在你的情况下,我会插入答案,然后再数一数。我认为他应该这样做:$answer=$\u POST[“q1”];//A或B代替。这也解决了多个问题。@UlrikMcArdle毫无疑问。如果没有看到表单,很难确切地知道从哪里开始。我认为他应该这样做:$answer=$\u POST[“q1”];/A或B代替。这也解决了多个问题。@UlrikMcArdle毫无疑问。如果看不到表单,就很难确切地知道从哪里开始。