1

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";
  }

ここで、5 つの事前定義された値を<select>持つ要素をループの実行中に含めたいと思います。オプションs は 1 ~ 5 になります。ループ 内には、1 ~ 5 の値を保持する列もあります( )。この値が の値と等しいたびに、に変更します。これは可能でしょうか?<option><td>value

$row$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";
4

2 に答える 2

7

確かに、ループから値を構築します。その部分の値を比較できます。

for($i = 1; $i<=5; $i++) {
   echo "<option value='$i'";
   echo ($row['scpe_grades_status'] == $i) ? " selected='selected'": "";
   echo ">...."</option>"
}
于 2012-06-17T12:00:12.787 に答える
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>';
}

そんな感じ?

于 2012-06-17T12:03:51.210 に答える