php选课系统(学生端)功能

本文详细介绍了学生选课系统的各项功能,包括选课、查看选课结果、弃选及修改密码等操作流程。深入探讨了系统如何通过数据库查询与更新来实现这些功能,为学生提供了灵活的选课体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

效果:

功能代码:

其它:


效果:

1.选修结果查看及弃选

2.选课

3.个人密码修改

功能代码:

/* 修改密码界面 */
function modify_password()
{
    if (isset($_POST['mod_password']))
    {
        echo <<<TR
<tr>
<td>原密码:</td>
<td><input type="text" name="old_password"></td>
</tr>
<tr>
<td>新密码:</td>
<td><input type="password" name="new_password"></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" name="confirm_password"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="修改" name="modified_password"></td>
</tr>
TR;
    }
}
/* 修改密码操作 */
function modified_password($uid)
{
    if (isset($_POST['modified_password']))
    {
        if ($_POST['new_password'] == $_POST['confirm_password'])
        {
            /* 连接数据库 */
            include ("database_connect.php");
            if (isStudent())                    /* 修改密码 */
            {
                $account_type = "student";
                $account_id = "s_id";
            }
            else
            {
                $account_type = "teaching_secret";
                $account_id = "w_id";
            }
            if ( $result = mysqli_query($link,"select password from {$account_type} where {$account_id}='{$uid}'") )
            {
                $old_password = mysqli_fetch_row($result)[0];
                if ($_POST['old_password'] == $old_password)
                {
                    if ( mysqli_query($link,"update {$account_type} set password='{$_POST['new_password']}' where {$account_id}='{$uid}'") )
                    {
                        echo "<script>alert('修改成功');</script>";
                    }
                }
                else
                {
                    echo "<script>alert('旧密码错误,重新操作');</script>";
                }
            }
        }
        else
        {
            echo "<script>alert('新密码不一样,重新操作');</script>";
        }
    }
}

/* 弃选操作 */
function give_up($g_c_id,$g_s_id)
{
    /* 连接数据库 */
    include ("database_connect.php");
    if ( mysqli_query($link,"delete from course_selection where c_id='{$g_c_id}' and s_id='{$g_s_id}'") )
    {
        /* 弃选人数减1 */
        mysqli_query($link,"update course set c_number=c_number-1 where c_id='{$g_c_id}'");
        echo "<script>alert('成功删除{$g_c_id},{$g_s_id}记录'); location.replace(location.href);</script>";
    }
}
/* 选修 */
function course_selection($uid,$attribute)
{
    /* 连接数据库 */
    include ("database_connect.php");
    $result1 = mysqli_query($link,"select grade from student where s_id='{$uid}'");
    $grade = mysqli_fetch_row($result1)[0];
    /* 判断是否为公选课(通识选修) */
    if ($attribute == 3)
    {
        $result2 = mysqli_query($link,"select * from course where allow=0 and attribute={$attribute} and c_id not in (select c_id from course_selection where course_selection.s_id='{$uid}')");
    }
    else
    {
        $result2 = mysqli_query($link,"select * from course where allow=0 and attribute={$attribute} and grade={$grade} and c_id not in (select c_id from course_selection,student where course_selection.s_id='{$uid}')");
    }
    if (mysqli_num_rows($result2) != 0)
    {
        echo "<tr><th>课程号</th><th>课程名</th><th>课程人数</th><th>操作</th></tr>";
        $even_row = 0;
        while ($row = mysqli_fetch_assoc($result2))
        {
            $even_row += 1;
            $even_style = "";
            if ($even_row % 2 == 0)
            {
                $even_style = "background: #97e4ff;";
            }
            echo <<<TR
<tr style="{$even_style}">
<td>{$row['c_id']}</td>
<td>{$row['c_name']}</td>
<td>{$row['c_number']}</td>
<td><button type="submit" name="selected" value="{$row['c_id']}">选课</button></td>
</tr>
TR;
        }
    }
    else
    {
        echo "<tr><td>没有可选课程</td></tr>";
    }
}
/* 专业选修 */
function major($uid)
{
    echo "<caption>专业选修课程</caption>";
    course_selection($uid,1);
}
/* 技能选修 */
function skill($uid)
{
    echo "<caption>技能选修课程</caption>";
    course_selection($uid,2);
}
/* 通识选修 */
function general($uid)
{
    echo "<caption>通识选修课程</caption>";
    course_selection($uid,3);
}
/* 查看选修结果 */
function check($uid)
{
    /* 连接数据库 */
    include ("database_connect.php");
    echo "<caption>选修结果</caption>";
    $result = @mysqli_query($link,"select course.c_id,c_name,attribute,allow from course,course_selection where course.c_id=course_selection.c_id and course_selection.s_id='{$uid}' order by attribute");
    if (mysqli_num_rows($result) != 0)
    {
        echo "<tr style='background: #35BAE9'><th>课程号</th><th>课程名</th><th>操作</th><th>通过</th></tr>";
        while ($row = mysqli_fetch_row($result))
        {
            if ($row[3] == 0)
            {
                $condition = "-";
            }
            else
            {
                $condition = "通过";
            }
            /* 设置不同类型选修课背景色 */
            if ($row[2] == 3)
            {
                $attr_style = "#17FFC9;";
            }
            else if ($row[2] == 2)
            {
                $attr_style = "#3583CC;";
            }
            else
            {
                $attr_style = "#A7F4D2;";
            }
            echo "<tr style='background: {$attr_style}'><td>{$row[0]}</td><td>{$row[1]}</td><td><button class='button_give_up' type='submit' name='give_up' value='$row[0]'>弃选</button></td><td>{$condition}</td></tr>";
        }
    }
    else
    {
        echo "<tr><td>暂无课程</td></tr>";
    }
}

其它:

教秘端 https://link2points.blog.youkuaiyun.com/article/details/108276127

1. 数据库有关字段

2. 注册

3. 登录

4. 选课

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值