2013-03-17 102 views
1

我有一些小錯誤,想知道是否有人可以幫忙!顯示覆選框數據mysql

我正在爲大學創建考勤系統。

這樣的場景:

學生成功登錄,然後要查看他/她出席一個特別課程。

問題:我希望它給我託運和從MySQL uncheked數據,它目前顯示一個空的複選框(當它的意思進行檢查)也以它顯示大量的重複數據的那一刻,有沒有可能我可以限制它,例如每週顯示一條記錄,它會顯示所有數據並複製它。

<?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的啓動和運行,我使用的會議,目前它的數據顯示爲學生,但不顯示現有檢查或uncheked值,該複選框是空的。

任何人都可以幫忙

+0

$ checked變量在哪裏定義? – Anonymous 2013-03-17 17:59:51

+0

對不起,它的$ row ['present'],mySql中的'present'字段是一個int,它定義1表示存在,0表示不存在,我希望它顯示所有數據是1或0,但是在複選框中 – 2013-03-17 18:02:33

回答

0

在你的代碼中,你沒有正確定義要檢查的複選框。製作,增加了checked="true"如果 '現在' 字段是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>"; 

?> 
+0

我現在要試試這個代碼謝謝你會讓你知道它是否有效 – 2013-03-17 18:13:09

+0

現在沒有數據顯示:S – 2013-03-17 18:19:21

+0

是否有錯誤? – Anonymous 2013-03-17 18:20:52

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

呼應 「」。$行['WEEK_NUMBER 「]。 「 」「。$ row ['notes']。 「」;

希望這可以幫助你。謝謝

+0

爲了不使用更多的行,爲什麼不製作一小段代碼來決定何時只用一段HTML代碼添加checked =「checked」? – Anonymous 2013-03-17 18:08:39

+0

是的......也可以這樣做......好吧,我在編輯我的答案...... – 2013-03-17 18:09:36

+0

謝謝我現在要試試這個 – 2013-03-17 18:13:30

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

嘗試。