从DB和数组加载选择框值

时间:2014-05-28 13:08:13

标签: php html arrays for-loop while-loop

我有一个代码,首先将所有值加载到数组中。 然后将值提供给选择框。将有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

3 个答案:

答案 0 :(得分:0)

使用数据库结果这不是一种非常方便的方式,似乎是从一个很少理解的例子中复制粘贴的。试试这种方式:

<?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 } ?>

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

答案 1 :(得分:0)

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

<?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 } ?>

答案 2 :(得分:0)

<?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;} ?>