将下拉列表中的多个选择插入到一行中


Insert Multiple Selection from Dropdown into one Row

我正在尝试从下拉列表中获取多个选择,并将它们插入表格中的单个列/行中。

所以它看起来像这样(列 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中的值直接插入数据库。至少总是逃脱