嗨,任何人都可以帮我这个吗?我真的很难把我的if语句放在这段代码中
<select name="date_opened_year">
<?php
define('DOB_YEAR_START', 1962);
$current_year = date('Y');
for ($count = $current_year; $count >= DOB_YEAR_START; $count--)
{
echo "<option value='{$count}'>{$count}</option>";
}
?>
</select>
我在这里有一个代码,我已经把我的if语句
<select name="date_opened_year">
<?php
define('DOB_YEAR_START', 1962);
$current_year = date('Y');
for ($count = $current_year; $count >= DOB_YEAR_START; $count--)
{
echo "<option value='{$count}' if($yy == $count) echo 'selected'>{$count}</option>";
}
?>
</select>
$ yy = 2003它来自数据库中的查询,当我查看代码时,它给我这样的东西
<option 'selected'="" echo="" 2012)="" if(2003="=" value="2012">2012</option>
为什么?任何人都可以修改代码吗?感谢
答案 0 :(得分:3)
试试这个:
$selectStr = ($yy == $count) ? 'selected': '';
echo "<option value='".$count."' ".$selectStr.">".$count."</option>";
最好分手。
你在字符串创建双引号中有你的if。
答案 1 :(得分:1)
这样做:
if($yy == $count){
echo "<option value='{$count}' selected='selected'>{$count}</option>";
}
答案 2 :(得分:1)
Echo不会评估if语句。尝试使用printf的@DCoder解决方案或:
echo "<option value='{$count}'";
if($yy == $count) echo 'selected';
echo ">{$count}</option>";