【问题标题】:show checkbox data mysql显示复选框数据mysql
【发布时间】:2013-03-06 01:01:20
【问题描述】:

我遇到了一些小错误,想知道是否有人可以提供帮助!

我正在为一所大学创建一个考勤系统。

这个场景:

学生成功登录,然后想查看他/她对特定课程的出勤情况。

问题:我希望它显示来自 mysql 的已检查和未检查数据,它目前显示一个空复选框(当它意味着要检查时),同时它也显示大量重复数据,我是否可以限制这一点,例如每周显示一条记录,它显示所有数据并复制它。

<?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 已启动并正在运行,我正在使用会话,目前它确实显示学生的数据但不显示现有的选中或未选中值,复选框为空。

谁能帮忙

【问题讨论】:

  • $checked 变量在哪里定义?
  • 对不起,它没有定义,它的 $row['present'] ,mySql 中的 'present' 字段是一个 int 并定义 1 表示存在,0 表示不存在,我希望它显示所有数据,无论是 1 还是 0,但在复选框中

标签: php html mysql checkbox show


【解决方案1】:

在您的代码中,您没有正确定义要检查的复选框。如果 'present' 字段为 1,则编写一个添加 checked="true" 的代码。

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

?>

【讨论】:

  • 我现在要试试这个代码,谢谢你会告诉你它是否有效
  • 哇,非常感谢你,它有效! , 显示检查和未检查的值,但是现在的问题是它以任何方式显示重复的数据,每周只显示一个数据
  • 重复数据是什么意思?有什么方法可以让我看到这个页面吗?
  • 例如周数:1 出席:1 备注:学生在 ,周数:2 出席:0 备注:学生缺席。所以它会显示数据,但它会多次重复数据
  • 我整理了代码并修复了 HTML 错误。不要认为我修复了其他任何问题,但请尝试一下。
【解决方案2】:
$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>";

试试吧。

【讨论】:

    【解决方案3】:

    你的

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

    回声 "" .$row['week_number']。 "" .$row['notes']。 "";

    希望这对您有所帮助。谢谢

    【讨论】:

    • 与其使用更多的行,不如只用一小段HTML代码来决定何时添加checked="checked"的一小段代码?
    • 谢谢我现在就试试这个
    猜你喜欢
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    相关资源
    最近更新 更多