PHP 在循环中循环,选择了选项?

问题描述 投票:0回答:3

使用 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";
php loops select html-select
3个回答
7
投票

当然,从循环中构建值。您可以比较该部分的值。

for($i = 1; $i<=5; $i++) {
   echo "<option value='$i'";
   echo ($row['scpe_grades_status'] == $i) ? " selected='selected'": "";
   echo ">...."</option>"
}

5
投票
$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>';
}

有这样的事吗?


0
投票

添加一个

<br>

每次之后

</option>

© www.soinside.com 2019 - 2024. All rights reserved.