问问题
76 次
6 回答
2
将您的代码更改为:
<?php $i = 8; while ( $i <=24 ) {
$selected = ($i == $store_info['weekdays_open_time'])?" selected" : "";
print ("<option value='" . $i ."'" . $selected . ">" . $i . "</option>");
$i++;
} ?>
于 2013-08-31T02:39:05.737 回答
0
你可以简单地使用
$i = 8;
while ( $i <=24 ) {
$selected = $i == $store_info['weekdays_open_time'] ? 'selected' : '';
echo "<option value='$i' $selected>$i</option>";
$i++;
}
.
此外,当您内部有变量时,没有必要使用"double quotes"
它,最好使用它echo
,print
因为echo
它是一种语言构造,它比print
函数更快。
于 2013-08-31T02:52:44.360 回答
0
核实 :
<?php
$i = 8;
while ($i <= 24) {
?>
<option value="<?PHP echo $i; ?>" <?PHP if ($i == $store_info['weekdays_open_time']) { echo "selected='selected'";} ?> > <?PHP echo $i; ?></option>
<?
$i++;
}
?>
希望它肯定会起作用:)
于 2013-08-31T02:54:50.577 回答
0
您需要在循环$selected
内重置变量:while
<?php
$i = 8;
while ($i <= 24) {
$selected = '';
if ($i == $store_info['weekdays_open_time]) $selected = ' selected="selected"';
print ("<option value='" . $i ."'" . $selected . ">" . $i . "</option>");
$i++;
}
?>
编辑:确保您始终为您使用的每个变量设置一个值;这是一个好习惯。在您的代码中,您selected
在 print 函数中使用了变量,而不总是首先分配变量值。
于 2013-08-31T02:39:34.477 回答
0
你永远不会清除你的 $selected 变量,基本上一旦它找到一个正确的答案,$selected 就会被设置为“selected”并且不再是一个空变量,所以当你调用它的每次迭代时,它都会打印“selected”而不是“”;
<?php
$i = 8;
while ( $i <=24 ) {
$selected = ( $i == $store_info['weekdays_open_time']) ? " selected='selected'" : "";
print ("<option value='" . $i ."'" . ( () ? )$selected . ">" . $i . "</option>");
$i++;
} ?>
于 2013-08-31T02:40:22.363 回答
0
您可以替换整个 if 语句:
<?php
$i = 8;
while ( $i <= 24 ) {
echo "<option value='" . $i ."'" ;
echo ($i == $store_info['weekdays_open_time'] ? ' selected' : '');
echo ">" . $i . "</option>";
++$i;
}
于 2013-08-31T02:43:23.950 回答