2017-06-26 182 views
0

在下面的PHP代码中,我创建了一个用于创建下拉列表的表单。如何获取从选择中选择的选项的值?

<?php 
echo "<body>"; 
echo "<div id='network_name' class='col-md-3'>"; 
echo "<h2> Agency Network </h2>"; 
echo "<form action='droplistpop.php' method='post'>"; 
echo "<select name='network'>"; 
while($result1 = mysqli_fetch_assoc($result)) { 
    unset($network_id, $network_name); 
    $network_id = $network_name['network_id']; 
    $network_name = $result1['network_code']; 
    echo '<option name="entry" value="' . $network_id . '">' . $network_name . '</option>'; 
    $network_chosen = $network_id; 

} 

echo "</select>"; 
echo "<input name='submit' type='submit' value='Send' />"; 
echo "</form>"; 
echo "</div>"; 
?> 

此代码按需要工作。它基于数据库查询的结果填充下拉列表。表单提交后,我想获取已选择的选项并在另一个查询中使用它。提交后,我用打印$ _ POST变量的内容:

print_r($_POST); 

和我的结果如下: 阵列([网络] => [提交] =>发送)

我想获取为网络选择的值,但它看起来是空白的。任何人都可以告诉我我做错了什么。

顺便说一下,我在编码方面真的很新颖,这是我第一次使用SO,请原谅我的任何使用错误。谢谢。

+0

你能解释一下'$ network_id = $ network_name ['network_id'];'? –

+1

查看生成的选择块的源代码。值是否正确显示? – aynber

+0

您是否正常提交此表单或者是否存在涉及某个Ajax的地方? – Quentin

回答

1

$network_id = $result1['network_id']; 而不是 $network_id = $network_name['network_id']

输出是这样的:

Array ([network] => 2 [submit] => Send) 
+0

我做了建议的改变,并做了这项工作! – user2167046

1

要设置一个错误值NETWORK_ID,这就是为什么它的输出是空白。另外,选项标签上的'name'属性不需要。尝试下面的更改。

<?php 
echo "<body>"; 
echo "<div id='network_name' class='col-md-3'>"; 
echo "<h2> Agency Network </h2>"; 
echo "<form action='droplistpop.php' method='post'>"; 
echo "<select name='network'>"; 
while($result1 = mysqli_fetch_assoc($result)) { 
    unset($network_id, $network_name); 
    $network_id = $result1['network_id']; 
    $network_name = $result1['network_code']; 
    echo '<option value="' . $network_id . '">' . $network_name . '</option>'; 
    $network_chosen = $network_id; 

} 

echo "</select>"; 
echo "<input name='submit' type='submit' value='Send' />"; 
echo "</form>"; 
echo "</div>"; 
?> 
相关问题