【发布时间】:2017-02-23 12:01:58
【问题描述】:
我有一个当前包含以下字段的表单:
Name, Size, Template
此表单中有两个选择框用于字段“尺寸”和“模板”。如果用户在选择框中选择了多个选项,我希望表单插入新行。
我已设法为“模板”执行此操作,但我无法弄清楚如何两次使用 foreach 构造,以便在从 Size 字段中选择多个选项时插入新行.
这是我的代码,可用于为多个“模板”选定选项插入新行:
$template = $_POST['Template'];
$size = $_POST['Size'];
foreach( $template as $temp ) {
switch( $temp ) {
case '1':
$template;
break;
case '2':
$template;
break;
case '3':
$template;
break;
case '4':
$template;
break;
};
$query = "INSERT INTO tbl (Name,Size,Template) VALUES('$name', '$size', '$temp')";
}
有没有办法使用这个 foreach 语句两次但运行相同的查询。
例如,我正在考虑做
foreach( $size as $newsize) {
switch( $newsize ) {
//cases go here
};
}
【问题讨论】:
-
如果
case '1':比$template = "1";为什么?如果条件和值与您不直接使用的相同?$template -
那么一个名字可以搭配多种尺寸和模板?但是尺寸的数量可能与模板的数量不同?
-
请注意,您当前的查询将 4 个值插入到 3 列中,因此当您说“它有效”时,您并没有说实话,而且您非常容易受到 SQL 注入攻击。
-
@Strawberry ID 是一个自动增量字段。
-
不符合您的查询
标签: php html mysql forms select