Php 从一组选择框中获取post数据

Php 从一组选择框中获取post数据,php,Php,这几天我都快疯了。我曾经用复选框做过类似的事情,并认为这会起作用,但事实并非如此。我的选择框是这样设置的 while ($row = mysql_fetch_array($queryResult2)) { echo "<table border=\"1\" \"black\" \"solid\">"; echo "<tr><th>News item</th><td>"; echo $row['heading']; ec

这几天我都快疯了。我曾经用复选框做过类似的事情,并认为这会起作用,但事实并非如此。我的选择框是这样设置的

while ($row = mysql_fetch_array($queryResult2))
{

echo "<table border=\"1\" \"black\" \"solid\">";
   echo "<tr><th>News item</th><td>";
   echo $row['heading'];
  echo "</td></tr>";
   echo "<tr><th>Order</th><td>";

 if( $row['id'] == 0)
 $id = "first";
 if( $row['id'] == 1)
 $id = "second";
 if( $row['id'] == 2)
 $id = "third";
 if( $row['id'] == 3)
 $id = "fourth";
 if( $row['id'] == 4)
 $id = "fith";
 if( $row['id'] == 5)
 $id = "sixth";
 if( $row['id'] == 6)
 $id = "seventh";
 if( $row['id'] == 7)
 $id = "eighth";
 if( $row['id'] == 8)
 $id = "ninth";
 if( $row['id'] == 9)
 $id = "tenth";

 echo "<select name='order[]'>
 <option value='$id'>". $id ."</option>
 <option name='first' value='1'>first</option>
 <option name='second' value='2'>second</option>
 <option name='order[]' value='3'>third</option>
 <option name='order[]' value='4'>fourth</option>
 <option name='order[]' value='5'>fith</option>
 <option name='order[]' value='6'>sixth</option>
 <option name='order[]' value='7'>seventh</option>
 <option name='order[]' value='8'>eighth</option>
 <option name='order[]' value='9'>ninth</option>
 <option name='order[]' value='10'>tenth</option>
 </select>";
while($row=mysql\u fetch\u数组($queryResult2))
{
回声“;
呼应“新闻项目”;
echo$行[“标题”];
回声“;
呼应“命令”;
如果($row['id']==0)
$id=“第一”;
如果($row['id']==1)
$id=“秒”;
如果($row['id']==2)
$id=“第三”;
如果($row['id']==3)
$id=“第四”;
如果($row['id']==4)
$id=“fith”;
如果($row['id']==5)
$id=“第六”;
如果($row['id']==6)
$id=“第七”;
如果($row['id']==7)
$id=“第八”;
如果($row['id']==8)
$id=“第九”;
如果($row['id']==9)
$id=“第十”;
回声“
“$id。”
第一
第二
第三
第四
菲斯
第六
第七
第八
第九
第十
";
然后,当我打印($\u POST)时,它会像这样转到下一页

数组([0]=>第一[1]=>第二[2]=>第三[3]=>第四[4]=>第六[6]=>第七[7]=>第八[8]=>第九[9]=>第十))


如何获取所有数据并将其放入变量中,以便用这些信息更新数据库?

我相信您会想要类似以下内容:

<form action="some_file.php" method="post">

 <select multiple="multiple" name="test[]">
  <option value="1">Test 1</option>
  <option value="2">Test 2</option>
  <option value="3">Test 3</option>
  <option value="4">Test 4</option>
  <option value="5">Test 5</option>
 </select>

 <input type="submit" />

</form>

测试1
测试2
测试3
测试4
测试5
您确实不想要
选项
项上的
名称
属性。这可能会把您搞砸

我认为你应该做的是:

  • multiple=“multiple”
    添加到
    选择标签
  • select
    输入中的选项中删除
    name
    属性

你完全错了。格式化你的代码。只需一个注释,考虑使用<代码>开关>代码>可读性和优化。开关将终止对第一个匹配条件的条件检查。@ TimCaseXoDuS:我同意,或者至少,IF -否则if构造。无论如何,我都不能真正理解他在尝试什么。do@Ass3mbler-我不能他想要预选的东西吗?@Guyver-为什么你要为每个选项指定一个名称。阅读说明书-为select(即
)提供名称,而不是在选项标签中(即
first
)忽略if语句,我只是包含了这些,这样那里就不会有神秘变量。