[英]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加载并存储在数组中),然后在选择框内加载。
谢谢,金兹
这不是处理数据库结果的便捷方法,似乎是从一个几乎没有理解的示例中复制粘贴的。 尝试这种方式:
<?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的变量。
好的,按照下面的评论,您可以执行以下操作:
<?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 } ?>
<?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;} ?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.