1

私はこれを成し遂げることができないようです。テーブルからデータを取得しています。列の値がyの場合はチェックボックスをオンにする必要があり、列の値がnの場合はチェックボックスをオンにしないでください。すべてのチェックボックスはチェックされたままですが、最初の行の列=y

<?php
session_start();
    include 'datalogin.php';
    $sel_course_id = 2;
    $sel_date_1    = '2012-05-21';
    $sel_date_2    = '2012-05-22';
    echo "<form action='' method='post'>";
    echo "<strong>Completed the course</strong>";

    $sql1 = "SELECT * FROM trn WHERE course_id = '$sel_course_id' AND date_1 = '$sel_date_1' and date_2 = '$sel_date_2'";
    $res1 = mysql_query($sql1);
    while ($row1 = mysql_fetch_assoc($res1)) {
        $rowid1           = $row1['id'];
        $uid1              = $row1['usr_id'];
        $certificate_name1 = $row1['certificate_name'];
        $course_completed1 = $row1['course_completed'];

            $sql2 = "SELECT * FROM ex_usrs WHERE id = '$uid1'";
            $res2 = mysql_query($sql2);
            while ($row2 = mysql_fetch_assoc($res2)) {
                $fn2 = $row2['firstname'];
                $ln2 = $row2['lastname'];
            } 
            $checked2 = "";
            if ($course_completed1 == y) {
                $checked2 = "checked";
            } 
            if ($course_completed1 == n) {
                $checked2 = "";
            } 
            echo "<input name='question[$rowid1][]' type='checkbox'  checked='$checked2' value='1' />$fn2 $ln2";
echo "</br>";
   } 
    echo "</form>";
?>
4

3 に答える 3

2

文字列には引用符を使用します。

if ($course_completed1 == "y") {
    $checked2 = "checked";
} 
if ($course_completed1 == "n") {
    $checked2 = "";
} 
于 2012-05-22T14:49:59.537 に答える
1

checked='$checked2'プレーン$checked2である必要があります。これはブール属性です。

(XHTMLを記述している場合を除き、その場合は、'checked="checked"テスト後に値も指定する必要がありますif ($course_completed1 == "y") {)。

テストでは"y"、定数(y)ではなく文字列()もチェックする必要があります。

于 2012-05-22T14:50:23.947 に答える
0

y前述のように、文字列値を引用しnて比較する必要があります。ただし、持っているだけでもchecked=""チェックボックスがオンになります。代わりに、次のようにステートメントを作成してみてください。

if ($course_completed1 == "y") {
    $checked2 = "checked='checked'";
} 
elseif ($course_completed1 == "n") {
    $checked2 = "";
}

echo "<input name='question[$rowid1][]' type='checkbox' $checked2 value='1' />$fn2 $ln2";
于 2012-05-22T14:57:52.810 に答える