使用 PHP,我在循环中回显表行,如下所示:
<?php
/* SQL STUFF */
while ($row = mysql_fetch_array($select_courseelements)) {
echo "<tr>\n";
echo "<td>".$row['scpe_name']."</td>\n";
echo "<td>".$row['scpe_days']."</td>\n";
echo "</tr>\n";
}
现在我想在循环运行的
<select>
中包含一个 <option>
元素,其中包含 5 个预定义的 <td>
值。选项 value
将为 1 到 5。 $row
循环内还有一列,保存 1 到 5 的值 ($row['scpe_grades_status']
)。
每次该值等于
<select>
中的值时,我都希望将其更改为 selected='selected'
。
这可能吗?
我的
<select>
在循环中运行时会看起来像这样:
echo "<td>\n";
echo "<select id='elements_grade'>\n";
echo "<option value='1'>Registrerad</option>\n";
echo "<option value='2'>Ej påbörjad</option>\n";
echo "<option value='3'>Pågående</option>\n";
echo "<option value='4'>Godkänd</option>\n";
echo "<option value='5'>Deltagit</option>\n";
echo "<option value='6'>Ej deltagit</option>\n";
echo "</select>\n";
echo "</td>\n";
当然,从循环中构建值。您可以比较该部分的值。
for($i = 1; $i<=5; $i++) {
echo "<option value='$i'";
echo ($row['scpe_grades_status'] == $i) ? " selected='selected'": "";
echo ">...."</option>"
}
$array = array('Registrerad' => 1, 'Ej påbörjad' => 2, 'Pågående' => 3, 'Godkänd' => 4, 'Deltagit' => 5, 'Ej deltagit' => 6);
foreach ($array as $key=>$value) {
if ($value == $row['scpe_grades_status'])
echo '<option value="'.$value.'" selected>'.$key.'</option>';
else
echo '<option value="'.$value.'">'.$key.'</option>';
}
有这样的事吗?
添加一个
<br>
每次之后
</option>