2010-06-14 65 views
1

我在我的代碼中有一個小問題,我需要你的幫助。以及Im使用fetch_assoc從數據庫中獲取數據,我需要得到每個返回值的ID號。問題是我的代碼只返回最後數據的ID號。這裏是我的代碼:使用fetch_assoc返回確切的ID

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

    <select name="album" style="border:1px solid #CCC; font-size:11px; padding:1px"> 

     <?php 

      $sql = "SELECT * FROM table"; 
      $stmt = $dbh -> prepare($sql); 
      $stmt -> execute(); 

      while($row = $stmt -> fetch(PDO::FETCH_ASSOC)) 
      { 

      $album_ID = $row['album_ID']; 
      $value = $row['album_name'];   
      print "<option value ='". $value ."'>". $value. "</option>"; 


      } 

     ?> 

    </select> 
    <input type="hidden" name="album_ID" value="<?php print $album_ID?>"/> 
</form> 

我想隱藏的輸入類型保存選定專輯的ID,但它總是保持最後數據的相冊ID。請幫忙。

回答

1

您最好的選擇是將中的id值OD選項

.... 
while($row = $stmt -> fetch(PDO::FETCH_ASSOC)) 
{ 

    $album_ID = $row['album_ID']; 
    $value = $row['album_name'];   
    print "<option value ='". $album_ID ."'>". $value. "</option>"; 


} 

.... 

然後在提交腳本(admin.php的)的POST變量album將包含ID,沒有必要隱藏的輸入

1

隱藏的字段將始終包含最後一個獲取的行的ID。

我想隱藏的輸入型 持有選定專輯的ID,但它始終 保持最後 數據的相冊ID。請幫忙。

要做到這一點,您將不得不使用javascript在選擇框更改事件時設置隱藏字段的值。

+0

這會工作,但過度殺傷,最好是隻使用ID的選項值,並忘記隱藏的輸入。 – Lizard 2010-06-14 09:29:11

+0

@lizard,是的,但'Selom'想要這個。我不知道他的最終目標是什麼?也許他需要根據選項中選擇的值進行一些基於JavaScript的計算。這就是爲什麼我按照他的要求直接回答的原因。 – 2010-06-14 11:12:38