0

こんにちは誰かがこれで私を助けることができますか?このコードに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>

何故ですか?誰かがコードを修正できますか?ありがとう

4

3 に答える 3

3

これを試して:

$selectStr = ($yy == $count) ? 'selected': '';
echo "<option value='".$count."' ".$selectStr.">".$count."</option>";

それを分割するのが最善です。

文字列作成の二重引用符の中にifがあります。

于 2012-11-25T06:45:17.520 に答える
1

これを行う:

if($yy == $count){ 
   echo "<option value='{$count}' selected='selected'>{$count}</option>";
}
于 2012-11-25T06:47:04.620 に答える
1

Echo will not evaluate if statement. Try @DCoder solution with printf or this:

echo "<option value='{$count}'";
if($yy == $count) echo 'selected';
echo ">{$count}</option>";
于 2012-11-25T06:49:43.693 に答える