循环中的PHP循环,选择了哪个选项?

时间:2012-06-17 11:50:54

标签: php select loops option

使用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 s将为1到5.

$row循环中还有一个列,其值为1到5($row['scpe_grades_status'])。

每次此值等于{{1}中的值1}}我希望它将其更改为<select>

这是否可能?

当我的selected='selected'在循环中运行时会看起来像这样:

<select>

2 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分: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>';
}

那样的东西?