使用 fetch_assoc 返回准确的 ID

问题描述 投票:0回答:2

我的代码有一个小问题。我正在使用 fetch_assoc 从数据库获取数据,并且需要获取每个返回值的 ID 号。问题是我的代码只返回最后一个数据的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。

php pdo
2个回答
1
投票

你最好的选择是将 id 放入选项的值中

....
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 在选择框的更改事件上设置隐藏字段的值。

© www.soinside.com 2019 - 2024. All rights reserved.