1

いくつかの小さなエラーがあり、誰かが助けてくれるかどうか疑問に思っていました!

大学の出席システムを作成しています。

このシナリオ:

学生は正常にログインし、特定のコースの出席を表示したいと考えています。

問題: mysql からのチェックされたデータとチェックされていないデータの両方を表示したいのですが、現在、空のチェックボックスが表示されています (チェックされることを意図している場合)。同時に、多数の重複データが表示されています。たとえば、1 週間に 1 つのレコードを表示すると、すべてのデータが表示され、複製されます。

<?php

$q3= "SELECT attendance.week_number_id, attendance.week_number, courses.course_id, students.student_id, course_attendance.present, course_attendance.notes
 FROM courses, course_attendance, attendance, students
WHERE course_attendance.student_id= ".$_SESSION['student_id']." AND course_attendance.course_id= courses.course_id AND course_attendance.week_id= attendance.week_number_id AND courses.course_id='101'  
 ";


$result = mysql_query($q3)  or die(mysql_error());

echo "<table border='1' align='center'><tr>  <th><strong>Week Number</strong></th> <th><strong>Present</strong></th> <th><strong>Notes</strong></th>  </tr> ";
while($row = mysql_fetch_assoc($result))
{
    extract($row);
echo 

"</td><td  width='200' align='center'>" .$row['week_number'].
"</td><td  width='400' align='center'><input type='checkbox' name='present'" .$row['present']. 
"</td><td  width='400' align='center'>" .$row['notes'].
"</td><tr>";
}
echo "</table>";
?>

注: データベースに正常に接続され、mysql が稼働中で、セッションを使用しています。現在、学生のデータは表示されますが、既存のチェック済みまたは未チェックの値は表示されません。チェックボックスは空です。

誰でも助けてくれますか

4

3 に答える 3

0

あなたのコードでは、チェックするチェックボックスを適切に定義していません。checked="true"「present」フィールドが 1 の場合に追加するコードを作成します。

<?php

    $q3 = " SELECT attendance.week_number_id, attendance.week_number, courses.course_id, students.student_id, course_attendance.present, course_attendance.notes 
            FROM courses, course_attendance, attendance, students
            WHERE course_attendance.student_id= ".$_SESSION['student_id']." AND course_attendance.course_id= courses.course_id AND course_attendance.week_id= attendance.week_number_id AND courses.course_id='101'";


    $result = mysql_query($q3) or die(mysql_error());

    echo "
        <table border='1' align='center'>
            <tr>
                <th><strong>Week Number</strong></th>
                <th><strong>Present</strong></th> 
                <th><strong>Notes</strong></th>  
            </tr>
        ";

    while($row = mysql_fetch_assoc($result)) {
        $checked = '';
        if($row['present'] == 1) {
            $checked = ' checked="true"';
        }

        echo "
            <tr>
                <td width='200' align='center'>" . $row['week_number'] . "</td>
                <td width='400' align='center'>
                    <input type='checkbox' name='present'" .$checked . "/>
                </td>
                <td width='400' align='center'>" . $row['notes'] . "</td>
            </tr>
        ";
    }

    echo "</table>";

?>
于 2013-03-17T18:05:46.850 に答える
0

君の

echo 
    "</td><td  width='200' align='center'>" .$row['week_number'].
    "</td><td  width='400' align='center'><input type='checkbox' name='present'" .$row['present']. 
    "</td><td  width='400' align='center'>" .$row['notes'].
    "</td><tr>";

ステートメントは

$present = "";
if(.$row['present']==1)
{
   $present = "checked =checked/>";    
}
else
{
   $present = "/>";    
 }

echo "" .$row['week_number']. "" .$row['メモ']. "";

これがお役に立てば幸いです。ありがとう

于 2013-03-17T18:07:19.777 に答える
0
$checked = '';
if($present == 1) {
    $checked = 'checked="checked"';
}

echo "</td><td  width='200' align='center'>" .$row['week_number'].
"</td><td  width='400' align='center'><input type='checkbox' name='present'" .$checked . "/>" . 
"</td><td  width='400' align='center'>" .$row['notes'].
"</td><tr>";
}
echo "</table>";

試す。

于 2013-03-17T18:35:58.897 に答える