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毫无疑问。如果看不到表单,就很难确切地知道从哪里开始。