从数据库和数组加载选择框值


Loading select box values from DB and array

我有一个代码,它将首先加载所有的值到一个数组中。然后将值提供给选择框。总共有5个选择框,它将加载相同的数据。我已经尽力了。这里是代码

    <?php
    $resultSet = array();
    while($result = mysql_fetch_array($result_book_query))
    {
    $resultSet['Book_Code'][] = $result['Book_Code'];
    $resultSet['Book_Name'][] = $result['Book_Name'];
    }
    ?>
    <?php for($i=1; $i<=5; $i++) { ?>
    <select name="book_code_<?php echo $i; ?>" id="book_code">
    <option value=""></option>
    <option value="<?php  echo $resultSet['Book_Code'];?>"><?php  echo $resultSet['Book_Name'] ;?></option>
    </select>
    <?php } ?>

我想做的是。

显示5个具有相同值的选择框(即值将首先从DB加载并存储在数组中),然后将其加载到选择框中。

谢谢,Kimz

这不是很方便的方式来操作数据库结果,似乎复制粘贴从一个例子与很少的理解。试试这样:

<?php
$resultSet = array();
while($result = mysql_fetch_array($result_book_query))
{
    $resultSet[] = $result; //the code you had here is maybe working, but very unhandy
}
?>
<?php for($i=1; $i<=5; $i++) { ?>
  <select name="book_code_<?php echo $i; ?>" id="book_code">
  <option value=""></option>
  <?php foreach ($resultSet as $result) { //THIS is the important thing you missed
?>
    <option value="<?php  echo htmlspecialchars($result['Book_Code']);?>"><?php  echo htmlspecialchars($result['Book_Name']) ;?></option>
  <? } ?>
</select>
<?php } ?>

此外,总是转义变量写入HTML使用htmlspecialchars

<?php
$resultSet = array();
while($result = mysql_fetch_array($result_book_query))
{
$resultSet[] = array(
                    'Book_Code' => $result['Book_Code'],
                    'Book_Name' => $result['Book_Name']
                    );
}
?>
<?php for($i=1; $i<=5; $i++): ?>
<select name="book_code_<?php echo $i; ?>" id="book_code">
<option value=""></option>
<?php foreach($resultSet as res):?>
    <option value="<?php  echo $res['Book_Code'];?>"><?php  echo $res['Book_Name'] ;?></option>
<?php endforeach;?>
</select>
<?php endfor;} ?>

好的,根据下面的评论,你可以这样做:

<?php for($i=1; $i<=5; $i++) { ?>
<select name="book_code_<?php echo $i; ?>" id="book_code">
<option value=""></option>
<?php foreach($resultSet['Book_Code'] as $k=>$v){
   echo "<option value=".$v.">".$resultSet['Book_Name'][$k]."</option>";
}
?>
</select>
<?php } ?>