我想创建一个非常简单的<select>
框,其中只包含数字1,2,3等。所以我只想要
<select>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
</select>
但是,我想使用PHP来生成选项,而不是手动创建它们。
我该怎么做呢?
答案 0 :(得分:5)
您可以使用:
<select>
<?php
define('MAX_OPTIONS', 6);
for($optionIndex=1; $optionIndex <= MAX_OPTIONS; $optionIndex++){
echo '<option>' . $optionIndex . '</option>';
}
?>
</select>
请注意<select>
的打开和关闭标记是直接输出,而不是PHP代码,因此是PHP标记。
你也可以通过PHP打印它:
<?php
define('MAX_OPTIONS', 6);
echo '<select>';
for($optionIndex=1; $optionIndex <= MAX_OPTIONS; $optionIndex++){
echo '<option>' . $optionIndex . '</option>';
}
echo '</select>';
?>
<强>提示强>
最后,为了向更结构化的编程迈出一小步,您可以创建一个函数:
<?php
function createSelectBox($optionCount){
$out = '<select>';
for($idx=1; $idx <= $optionCount; $idx++){
$out .= '<option>' . $idx . '</option>';
}
$out .= '</select>';
return $out;
}
?>
然后在PHP(!!)中调用它 - 就像这样:
<?php
echo createSelectBox(6);
?>
由于您生成的HTML代码看起来不错并且功能正常,因此没有任何实际用途,因为如果<option>
标记没有提供value
属性(应该包含{{1}}属性,则没有选择框可以正常工作表示选项的值。)
If needed, read this to gain a better understanding of how select
works
答案 1 :(得分:0)
for ($i = 0; $i <= 10; $i++){
echo "<option>" . $i . "</option>";
}
答案 2 :(得分:0)
<?php
function options($num) {
$options = '';
for ($i = 1; $i < $num + 1; $i++)
{
$options .= "\t<option>" . $i . "</option>\n";
}
return $options;
}
?>
<select>
<?php echo options(6); ?>
</select>
此函数输出所请求的代码。
答案 3 :(得分:0)
您可以使用sprintf创建选择框,以便更轻松地组织数据。
<?php
function createSelectBox($arr){
$options= '<select>';
for($i=0; $i <= count($arr); $i++){
$options .= sprintf("<option value='%s'>%s</option>", $arr[$i]['ID'], $arr[$i]['title']);
}
$options .= '</select>';
return $options;
}
?>
答案 4 :(得分:0)
我偶然发现了这个代码片段。我最终写了一个函数调用及其附带的所有内容(尽管这里我将CSS放在样式标签中,而不是CSS文件中)
您可以将其放入,它将起作用。
<?php
function createOptionBox($boxName,$boxClass ,$productArray){
$boxHtml = '<select name="'.$boxName.'" class="'.$boxClass.'">';
for($x=0;$x<count($productArray);$x+=2){
$boxHtml .= '<option value="'.$productArray[$x].'">'.$productArray[$x+1].'</option>';
}
$boxHtml .= '</select>';
return($boxHtml);
}
$productArray = array("1","ipad","2","phone");
$boxName = "products";
$boxClass = "productSelect";
$productDropDown = createOptionBox($boxName,$boxClass ,$productArray);
?>
<style>
.productSelect{
font-size:12pt;
padding: 5px;
}
</style>
<p><?php echo $productDropDown;?></p>
只需使用array_push,即可从数据库(如mysql)轻松设置productArray。
希望这对某人有帮助。