php - CREATE IDENTIFIER ----使用php将2个表单数据插入到一张表中

标签 php html mysql sql

我有两个表单:student.html 和 coach.html,我想将它们的数据存储到一个名为 TEACHING_AWARD_NOMINATIONS

的表中

我对它们使用相同的 php 文件。下面是我的代码:

$srr = array_map('mysql_escape_string', $_REQUEST);

if ($srr['NOMINATIONTYPE'] == 'STUDENT')
    $fields = Array('TYPE','NAME', 'EMAIL', 'NOMINEE', 'DEPT', 'COURSE', 'YEARTERM', 'REQUIRED_FOR_MAJOR', 'MAJOR_LEARNING_OBJECTIVES', 'WHAT_EXTENT_INSTRUCTOR_HELP', 'RANK', 'RANK_COMMENT','EVIDENCE','EFFECTION','CONTRIBUTION', 'TEXTBOX_1', 'TEXTBOX_2', 'TEXTBOX_3', 'TEXTBOX_4', 'TEXTBOX_5');
else if ($srr['NOMINATIONTYPE'] == 'FACULTY')
    $fields = Array('TYPE','NAME', 'EMAIL', 'NOMINEE', 'DEPT', 'COURSE', 'YEARTERM', 'REQUIRED_FOR_MAJOR', 'MAJOR_LEARNING_OBJECTIVES', 'WHAT_EXTENT_INSTRUCTOR_HELP', 'RANK', 'RANK_COMMENT','EVIDENCE','EFFECTION','CONTRIBUTION', 'TEXTBOX_1', 'TEXTBOX_2', 'TEXTBOX_3', 'TEXTBOX_4', 'TEXTBOX_5');
else die('error: no nomination type');


foreach ($fields as $f)
    $$f = $srr[$f];

$qry = "INSERT INTO TEACHING_AWARD_NOMINATIONS (";
    foreach ($fields as $f) $qry .= $f . ", ";
    $qry = substr($qry, 0, -2);
    $qry .= ") VALUES (";
    foreach ($fields as $f) $qry .= "'" . $$f . "', ";
    $qry = substr($qry, 0, -2);
    $qry .= ")";

$result = mysql_query($qry) or die('An error ocurred: '.mysql_error());

echo 'Success! Thank you for submitting your nomination.';

它完美地存储了表中除了'TYPE'列之外的数据

下面是每个html中的代码:

<input type="hidden" name="NOMINATIONTYPE" value="FACULTY" />
            <input type="submit" value="Submit" name="Submit" />
            <input type="reset" value="Reset" name="Reset" />


<input type="hidden" name="NOMINATIONTYPE" value="STUDENT" />
            <input type="submit" value="Submit" name="Submit" />
            <input type="reset" value="Reset" name="Reset" />

如何为表创建标识符?我希望从学生表单提交的数据在表中显示类型:学生,从教师表单提交的数据在表中显示类型:教师。

请帮忙~~~

最佳答案

问题是因为在您的第一个 foreach 中,您正在寻找 $srr['TYPE'],它可能不存在。简单的解决方案是将隐藏元素重命名为 TYPE 而不是 NOMINATIONTYPE。或者,您可以在 foreach 中执行一些逻辑,例如 if($f == 'TYPE'){$ff = $srr['NOMINATIONTYPE'];} else{$$f = $srr[$f];}

关于php - CREATE IDENTIFIER ----使用php将2个表单数据插入到一张表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21054109/

相关文章:

Javascript:获取表格单元格的内容(div内)

php - codeigniter 在 session 中设置多维数组

php - 一篇关于多个类别的文章

html - CSS:如何在两列中显示相同的元素,元素之间没有间距?

sql - mysql GROUP_CONCAT 重复

php - 学说 2 DQL : Cannot reuse named parameter?

php - 如何进行 JavaScript 或 PHP 有条件重定向?

html - RegExp 将一个 html 标签替换为另一个,但有一些异常(exception)

c# - 保护连接字符串

php - While 循环内是否在屏幕上打印了图像文件(对应于线程 ID)?