0

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

所以它看起来像这样(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)';

我尝试执行此处的操作,因为他的代码似乎正在执行我想要的操作(尽管他不希望这样做)多个下拉值插入单行而不是多行

但它根本不起作用。我在服务器日志中得到了一个无效的内爆参数,并且插入语句对于该变量只是空白。

任何帮助,将不胜感激。

4

1 回答 1

1

表单中的属性需要以表示数组name结尾。[]这应该工作

echo "<select NAME='SysName_1[]' SIZE='1' multiple tabindex='7'>\n";

但是你应该小心。永远不要相信用户输入!不要将您的值$_POST直接插入到数据库中。至少总是逃避

于 2013-09-22T15:52:07.703 回答