我正在尝试从下拉列表中选择多个选项,并将它们插入到表格中的单个列/行中。
所以它看起来像这样(ColumnB):
ColumnA | ColumnB | ColumnC
---------------------------
Stuff | A, B, C | Stuff
这是下拉列表:
echo "<select NAME='SysName_1' SIZE='1' multiple tabindex='7'>\n";
echo "<option>Choose One or More</option>\n";
要填充下拉列表,我使用select语句
$strSQL = "SELECT STATEMENT";
$rsSQL = odbc_exec($connSQL,$strSQL) or die ('Error Executing Subsystems SQL');
$strOptions = "";
while ($row=odbc_fetch_array($rsSQL)){
$id = trim($row["SysName"]);
$thing = trim($row["SysDesc"]);
$strOptions .= "<OPTION VALUE='$id'>$thing</option>";
}
echo $strOptions;
echo "</select>\n";
这就是我在插页中的内容:
应该将多个选项组合在一起,是否正确?
$SysName_1 = implode(',',$_POST['$SysName_1']);
$SQLIN = 'INSERT INTO TABLE (COLUMNA) VALUES ($SysName_1)';
我尝试做位于这里的事情,因为他的代码似乎正在做我想要的事情(虽然他不想要它)Multiple dropdown values inserting in a single row not in multiple row
但它根本不起作用。我的服务器日志中的内爆得到了一个无效的参数,而且该变量的insert语句只是空白。
任何帮助都将不胜感激。
答案 0 :(得分:1)
表单中的name
属性需要以[]
结尾才能表示数组。这应该工作
echo "<select NAME='SysName_1[]' SIZE='1' multiple tabindex='7'>\n";
但你应该小心。绝不相信用户输入!不要将$_POST
中的值直接插入数据库。总是至少逃脱