微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

表格处理

如何解决表格处理

| 我要执行的操作是为每个答案运行一条select语句,以在数据库
questionID = $i
userID = $userID
中选择答案,因此到目前为止,我已经设置了类似的查询,但是不确定我丢失了什么还是我是对的,什么都不丢失吗?另外,无论我做什么,两个字段都有值,但是我仍然收到错误消息,我需要填写两个表单字段。
<?PHP 
                        $i = 1;
                        while ($row = MysqLi_fetch_array($result,MysqLI_ASSOC)) {
                        ?>
                            <dl>

                                <dt style=\"width: 190px;\"><label for=\"answer[<?PHP echo $row[\'id\']; ?>]\"><?PHP echo $row[\'question\'] ?></label></dt>
                                <dd><input type=\"text\" name=\"answer<?PHP echo $i ?>[<?PHP echo $row[\'id\']; ?>]\" size=\"54\" /></dd>

                            </dl>
                        <?PHP
                        ++$i;
                        }
                        ?>

if (empty($_POST[\'answer1\'][$i]) || trim($_POST[\'answer1\'][$i])==\"\") {$errors = \"yes\";}
if (empty($_POST[\'answer2\'][$i]) || trim($_POST[\'answer2\'][$i])==\"\") {$errors = \"yes\";}

// Error checking,make sure all form fields have input
if ($errors == \"yes\") {

    // Not all fields were entered error
    $message = \"You must enter values to all of the form fields!\";

    $output = array(\'errorsExist\' => true,\'message\' => $message);

} else {

    $userID = MysqLi_real_escape_string($dbc,$_POST[\'userID\']);
    $answer1 = MysqLi_real_escape_string($dbc,$_POST[\'answer1\'][$i]);
    $answer2 = MysqLi_real_escape_string($dbc,$_POST[\'answer2\'][$i]);

    $query = \"SELECT * FROM manager_users_secretAnswers WHERE questionID = \'\".$questionID.\"\' AND userID = \'\".$userID.\"\'\";
    $result = MysqLi_query($dbc,$query);
    echo $query;
    

解决方法

        您可能会遇到php类型自动查询的问题。假设您有ID为3、5、7、8的问题,那么您正在使用:
 empty($_POST[\'answer1\'][$i])
$ _POST [\'answer1 \'] [3],因此您正在获取数组的第三个元素。 所以我建议不要使用数组符号,而是:  对于输入名称:answer | $ {id}或answer _ $ {id}而不是answer [$ id]     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。