我正在尝试从下拉列表中获取多个选择,并将它们插入表格中的单个列/行中。
所以它看起来像这样(列 B):
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";
要填充下拉列表,我使用选择语句
$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)';
我尝试做这里的位置,因为他的代码似乎在做我想做的事情(尽管他不想这样做) 在单行中插入多个下拉列表值,而不是在多行中插入
但它根本不起作用。我在服务器日志中得到了一个无效的内爆参数,并且该变量的插入语句只是空白。
任何帮助将不胜感激。
表单中的 name
属性需要以 []
结尾以表示数组。这应该有效
echo "<select NAME='SysName_1[]' SIZE='1' multiple tabindex='7'>'n";
但你应该小心。永远不要相信用户输入!不要将$_POST
中的值直接插入数据库。至少总是逃脱