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