php如果在选项标签中

时间:2012-11-25 06:40:39

标签: php

嗨,任何人都可以帮我这个吗?我真的很难把我的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>

为什么?任何人都可以修改代码吗?感谢

3 个答案:

答案 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>";