2010-04-11 49 views
0

我想知道錯誤在此代碼如何從PHP中的DropDown列表中選擇值?問題

下面的代碼檢索在 下拉列表

數據庫查詢的成員的名字,但我怎麼知道你選擇誰....我要發送的消息只對選定的形式下拉列表

<?php 
include ("connect.php"); 



    $name = $_POST['sector_list']; 

    echo $name ; 

?> 


    <form method="POST" action="" > 
    <input type="hidden" name="sector" value="sector_list"> 
    <select name="sector_list" class="inputstandard"> 
    <option size ="40" value="default">send to </option> 

    <?php 
     $result = mysql_query('select * from members ') 
     or die (mysql_error()); 

     while ($row = mysql_fetch_assoc($result)) { 

      echo '<option size ="40" value=" '. $row['MemberID'] . '" name="' . $row['MemberName']. '">' . $row['MemberName']. '</option>'; 

     } 

    ?> 

    </select> 
    </form> 

成員,我希望有人能幫助我

回答

1

這應該做的伎倆。

<?php 
$member_id = intval($_POST['sector_list']); 

if($member_id == 0) { 
    // Default choice was selected 
} 
else { 
    $res = mysql_query("SELECT * FROM members WHERE MemberID = $member_id LIMIT 1"); 
    if(mysql_num_rows($res) == 0) { 
     // Not a valid member 
    } 
    else { 
     // The member is in the database 
    } 
} 
?> 

<form method="post" action=""> 
    <input type="hidden" name="sector" value="sector_list"> 
    <select name="sector_list" class="inputstandard"> 
     <option value="0">send to</option> 
     <?php 
     $result = mysql_query('SELECT * from members') or die(mysql_error()); 

     while ($row = mysql_fetch_assoc($result)) { 
      echo '<option value="' . $row['MemberID'] . '">' . $row['MemberName']. '</option>'; 
     } 
     ?> 
    </select> 
</form> 

爲了得到一個輸入改變,當你選擇一個人試試這個:

<select onchange="document.getElementById('text-input').value = this.value;"> 
<!-- Options here --> 
</select> 
<input type="text" id="text-input"> 
+0

非常感謝 我怎麼能相信,通過它開發的代碼實際工作,這樣我可以找出誰選擇 我確實打印了您有選擇的句子。它沒有告訴我任何價值 我想確定一下,所以如果你選擇一個特定的成員,那麼這個名字出現在下拉列表 下面。 我可以在下拉菜單和文本框之間進行合併,如果從下拉菜單中選擇,那麼名稱會出現在文本框中? – sandy 2010-04-11 11:21:20

+0

請記住'htmlspecialchars()'將行值添加到HTML中。 – bobince 2010-04-11 12:13:38

+0

你必須通過javascript來做到這一點。 答案中的示例,因爲您無法在此格式化代碼。 – 2010-04-11 21:48:15

相關問題