2017-06-26 180 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>"; 
?> 
相關問題