2010-11-22 51 views
1

我有一個表單,其中有一個下拉列表。這個列表中填充了來自數據庫的值。但是,當我提交表單時,下拉列表會獲得重複值。表單上的下拉值重複

碼 -

<form name="form1" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">    

    <select name="test"> 
    <?php 
     GetList(); 
    ?> 
    </select> 

    <input type="submit" value="submit" class="submit" /> 

</form> 

GetList功能 -

function GetList() 
{ 
    global $db; 

    $sql = "SELECT id,text FROM table"; 

    $result = mysql_query ($sql); 


    while($nt=mysql_fetch_array($result)) 
    { //Array or records stored in $nt 
    echo '<option value='.$nt[id].'>'.$nt[text].'</option>'; 
    } 

} 

下拉列表只能用一次填充。我不介意如果下拉列表重新填充表單後,但我不想在我的下拉列表中重複的值?

如何擺脫重複值?

編輯 - 例如 - 如果下拉菜單顯示值1,2,3,4,當我第一次登陸頁面。之後,我點擊提交,下拉列表顯示1,2,3,4,1,2,3,4。隨着我提交的次數不斷增加。

+1

確定您的查詢沒有得到重複?你發佈的代碼不應該產生重複。你喜歡從.net過渡嗎? – DampeS8N 2010-11-22 19:42:55

+0

我相信我的查詢不會產生重複的值。哈哈我真的很難過,你怎麼知道我只是搬到了PHP?我的問題很明顯嗎?過渡是令人沮喪的,我花了很多時間在簡單的事情上,不是因爲我不知道該怎麼做,而是因爲我不知道如何使用PHP做到這一點:) – pavanred 2010-11-22 19:50:49

+0

我在網上搜索了很多,但找不到任何東西解。我打算剝離整個代碼並重做頁面,確保我沒有犯任何錯誤。 – pavanred 2010-11-23 06:04:23

回答

0

聽起來好像數據庫中有重複的數據,或者您的循環邏輯在您發佈信息時會以某種方式進行兩次。如果你顯示你的GetList代碼的其餘部分,它會更容易幫助你。

0

也許你是從數據庫中獲取重複值? ..或循環兩次,當然更容易發現。

0

這是非常牽強的猜測。如果您在while循環後添加此代碼,它會有所幫助:

mysql_free_result($result);