php选课系统(教秘端)功能

目录

效果:

功能代码:

其它:


效果:

1.按课程号查找

2.按学号查找

3.模糊查找

4.添加课程

5.限制人数内课程停止选课

5.超出限制人数内课程调整

功能代码:

/* 按课程号查找操作 */
function seek_option($val)
{
    /* 连接数据库 */
    include ("database_connect.php");
    echo "<tr style='height: 10px'></tr>";
    if (strlen($val) == 4)
    {
        $result = @mysqli_query($link,"select * from course where c_id='{$val}'");
        if (mysqli_num_rows($result) != 0)
        {
            printf_modify($result);
        }
        else
        {
            echo "<tr><td>未找到 {$val} 记录</td></tr>";
        }
    }
    else
    {
        echo "<tr><td>格式不规范</td></tr>";
    }
    echo "<tr style='height: 10px'></tr>";
}
/* 按学号查找操作 */
function students_option($val)
{
    /* 连接数据库 */
    include ("database_connect.php");
    echo "<tr style='height: 10px'></tr>";
    if (strlen($val) == 9)
    {
        $result1 = mysqli_query($link,"select student.s_id,s_name from student,course_selection where course_selection.s_id='{$val}' and course_selection.s_id=student.s_id");
        if ( !empty( $row1 = mysqli_fetch_row($result1) ) )
        {
            echo "<tr style='background: #35BAE9'><td colspan='2'>学号:{$row1[0]}</td><td colspan='3'>姓名:{$row1[1]}</td></tr>";
            echo "<tr style='background: #97e4ff'><th>已选课程号</th><th>已选课程名</th><th>人数</th><th>限制人数</th><th>操作</th></tr>";
            $result2 = mysqli_query($link,"select course.c_id,c_name,c_number,l_number,attribute from course,course_selection where course_selection.s_id='{$row1[0]}' and course.c_id=course_selection.c_id");
            while ($row2 = mysqli_fetch_assoc($result2))
            {
                echo <<<TR
<tr>
<td>{$row2['c_id']}</td>
<td>{$row2['c_name']}</td>
<td>{$row2['c_number']}</td>
<td>{$row2['l_number']}</td>
<td><button type="submit" value="{$row2['c_id']}" name="give_up" class="button_give_up" onclick='return del();'>删除</button></td>
<input type="hidden" value="{$row1[0]}" name="g_s_id">
</tr>
TR;
            }
            echo "<input type='text' value='{$row1[0]}' name='get_s_id' hidden>";
        }
        else
        {
            echo "<tr><td>未找到 {$val} 选课记录</td></tr>";
        }
    }
    else
    {
        echo "<tr><td>格式不规范</td></tr>";
    }
    echo "<tr style='height: 10px'></tr>";
}
/* 模糊查找专业操作 */
function unclear_option($val)
{
    /* 连接数据库 */
    include ("database_connect.php");
    echo "<tr style='height: 10px'></tr>";
    /* 限制查询长度只为6,下同限制长度 */
    if (strlen($val) == 6)
    {
        /* 模糊查找出学号 */
        $result1 = mysqli_query($link,"select student.s_id,s_name,major,grade,class from student where student.s_id like '".$val."%'");
        while ($row1 = mysqli_fetch_row($result1))
        {
            echo "<tr style='background: #97e4ff'><th>学号</th><th>姓名</th><th>专业</th><th>年级</th><th>行政班</th></tr>";
            echo "<tr><td>{$row1[0]}</td><td>{$row1[1]}</td><td>{$row1[2]}</td><td>{$row1[3]}</td><td>{$row1[4]}</td></tr>";
            /* 查找学号对应课程 */
            $result2 = mysqli_query($link,"select course_selection.c_id,c_name from course_selection,course where course.c_id=course_selection.c_id and course_selection.s_id='{$row1[0]}'");
            echo "<tr style='background: #35BAE9'><th>选修课程号</th><th>选修课程名</th><th>操作</th></tr>";
            if ( mysqli_num_rows($result2) != 0)
            {
                while ($row2 = mysqli_fetch_row($result2))
                {
                    /* 对选课表操作s_id,c_id */
                    echo "<tr><td>{$row2[0]}</td><td>{$row2[1]}</td><td><button name='give_up' type='submit' value='{$row2[0]}' class='button_give_up' onclick='return del();'>删除</button></td></tr>";
                    echo "<input type='hidden' name='g_s_id' value='$row1[0]'>";
                }
            }
            else
            {
                echo "<tr><td>-</td><td>-</td><td>-</td></tr>";
            }
            echo "<tr><td colspan='5' style='background: #97e4ff;padding: 1px 0px 2px 0px'></td></tr>";
        }
    }
    else
    {
        echo "<tr><td>格式不规范</td></tr>";
    }
    echo "<tr><td colspan='5' style='text-align: left'>共有".mysqli_num_rows($result1)."名学生记录</td></tr>";
    echo "<tr style='height: 10px'></tr>";
}
/* 按课程号查找操作 */
function seek_option($val)
{
    /* 连接数据库 */
    include ("database_connect.php");
    echo "<tr style='height: 10px'></tr>";
    if (strlen($val) == 4)
    {
        $result = @mysqli_query($link,"select * from course where c_id='{$val}'");
        if (mysqli_num_rows($result) != 0)
        {
            printf_modify($result);
        }
        else
        {
            echo "<tr><td>未找到 {$val} 记录</td></tr>";
        }
    }
    else
    {
        echo "<tr><td>格式不规范</td></tr>";
    }
    echo "<tr style='height: 10px'></tr>";
}
/* 添加课程 */
function add_course()
{
    /* 连接数据库 */
    include ("database_connect.php");
    echo "<caption>添加课程</caption>";
    $arr = array("课程名(10位字符内)"=>"add_c_name","限制人数(整型0-1000)"=>"add_l_number","简介(300位字符内)"=>"add_introduction","属性(整型1-3,代码1专业,2技能,3通识)"=>"add_attribute","年级(整型0-5,0为公选课无年级限制)"=>"add_grade");
    /* 查找最后一条记录 */
    $result = mysqli_query($link,"select c_id from course order by c_id desc limit 1");
    /* 若无数据则默认为c001,若有数据则取最后一组数据加1 */
    if (mysqli_num_rows($result) == 0)
    {
        $new_c_id = "c001";
    }
    else
    {
        $new_c_id = mysqli_fetch_row($result)[0];
        $new_c_id = substr($new_c_id,1,3) + 1;
        if ($new_c_id < 10)
        {
            $new_c_id = "c00".$new_c_id;
        }
        else if ($new_c_id >= 10 && $new_c_id < 100)
        {
            $new_c_id = "c0".$new_c_id;
        }
        else if ($new_c_id >= 100 && $new_c_id < 1000)
        {
            $new_c_id = "c".$new_c_id;
        }
        else
        {
            $new_c_id = "c000";
        }
    }
    if ($new_c_id == "c000")
    {
        echo "<tr><td>数据内存已满,不可添加</td></tr>";
    }
    else
    {
        echo "<input type='hidden' value='{$new_c_id}' id='min_limit'>";
        echo "<tr style='text-align: left'><td>课程号(c开头+3位字符)</td><td><input type='text' name='add_course[]' id='course_id' value='{$new_c_id}' required autofocus onkeyup='courseID_is_validate()' style='background: forestgreen'></td></tr>";
        foreach ($arr as $key=>$value)
        {
            echo "<tr style='text-align: left;line-height: 30px;'>";
            echo "<td>{$key}</td>";
            if ($key == "简介(300位字符内)")
            {
                echo "<td><textarea name='add_course[]' id='{$value}' required rows='5' onkeyup='course_is_validate()'></textarea></td>";
                echo "<td style='vertical-align: bottom'><p id='words'>0/300</p></td>";
            }
            else
            {
                echo "<td><input type='text' name='add_course[]' id='{$value}' required onkeyup='course_is_validate()'></td>";
            }
            echo "</tr>";
        }
        echo "<tr><td colspan='3'><input type='submit' name='add_course_bt' id='add_course_bt' value='添加'></td></tr>";
    }
}
/* 达标课程 */
function legal_course()
{
    /* 连接数据库 */
    include ("database_connect.php");
    $result = mysqli_query($link,"select c1.c_id,c1.c_name, c1.c_number,c1.l_number from course as c1,course as c2 where c1.c_id=c2.c_id and c1.l_number>=c2.c_number and c1.allow=0");
    echo "<caption>未超出超出限制人数的课程</caption>";
    if (mysqli_num_rows($result) != 0)
    {
        $even_row = 0;
        echo "<tr style='background: #35BAE9'><th>课程号</th><th>课程名</th><th>实际人数</th><th>原定人数</th><th>操作</th></tr>";
        while ($row = mysqli_fetch_row($result))
        {
            $even_row += 1;
            $even_style = "";
            if ($even_row % 2 == 0)
            {
                $even_style = "background: #97e4ff;";
            }
            echo "<tr style='{$even_style}'>";
            for ($i = 0; $i < 4; $i++)
            {
                echo <<<TR
<td>{$row[$i]}</td>
TR;
            }
            echo "<td><button type='submit' value='{$row[1]}' name='disallow'>禁选</button><input type='hidden' name='give_up' value='{$row[0]}'></td>";
            echo "</tr>";
        }
    }
    else
    {
        echo "<tr><td>无达标课程</td></tr>";
    }
}
/* 超限课程 */
function exceed_l_number()
{
    /* 连接数据库 */
    include ("database_connect.php");
    $result = mysqli_query($link,"select c1.c_id,c1.c_name, c1.c_number,c1.l_number from course as c1,course as c2 where c1.c_id=c2.c_id and c1.l_number<c2.c_number");
    echo "<caption>超出限制人数的课程</caption>";
    if (mysqli_num_rows($result) != 0)
    {
        $even_row = 0;
        echo "<tr style='background: #35BAE9'><th>超限课程号</th><th>超限课程名</th><th>实际人数</th><th>原定人数</th><th>操作</th></tr>";
        while ($row = mysqli_fetch_row($result))
        {
            $even_row += 1;
            $even_style = "";
            if ($even_row % 2 == 0)
            {
                $even_style = "background: #97e4ff;";
            }
            echo "<tr style='{$even_style}'>";
            for ($i = 0; $i < 4; $i++)
            {
                echo <<<TR
<td>{$row[$i]}</td>
TR;
            }
            echo "<td><button type='submit' value='{$row[0]}' name='adjust'>调整</button></td>";
            echo "</tr>";
        }
    }
    else
    {
        echo "<tr><td>无超限课程</td></tr>";
    }
    echo "<tr><td colspan='5' style='text-align: left'>共有".mysqli_num_rows($result)."条记录</td></tr>";
}

其它:

学生端 https://link2points.blog.csdn.net/article/details/108275526#comments_13871234

1. 数据库有关字段

2. 不足

没有批量操作功能,没有使用分页。

3. 总流程

4. 课程审批

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值