学生信息管理系统(js与php的数据传输)

最近期末将至,比较忙,更得比较慢,见谅。

搭建完环境并且确认连接之后,我们可以开始编写程序了。

然后建表

这里写图片描述

插入数据

这里写图片描述
(这里仅作一个示例)

另外建表的时候要注意,因为要创建视图,所以应该把要与另一个表连接的项建为外键,然后另一个表通过reference与该表连接。另外,最好不要重命名,也就是两个表的同个属性,建视图时非常麻烦!

比如说teacher表的teachername与class表的teachername连接,teacher建表时应把teachername建为外键,即:

create table teacher{
    teacherna varchar2(20) primary key
}

create table class{
    teachername varchar2(20) reference teacher(teacherna)
}

属性值也要建的相同!上面的图建的有点问题。。。

打开sql developer

这里写图片描述

根据用户名连接

打开用户名就能看到自己的小成果啦
这里写图片描述

然后我们编写前端页面。然后编写php获取数据

<?php

    $conn = oci_connect("c##stu", "stu01","",'UTF8');

    $stmt = oci_parse($conn, "select * from teacherw");

    oci_execute($stmt);

    $nrows = oci_fetch_all($stmt, $results);

    $arr_str = json_encode($results);

    print_r($arr_str);
    return $arr_str; 
?>

编写完后怎么通过前端页面获取呢?当然时通过ajax的get操作啦

比如密码的验证:

$.get('./static/src/find.php', function(data) {
    var num = JSON.parse(data);
    num['ACCOUNT'].forEach(function(item, index) {
        if (a.value == item) {
            if (b.value == num['PASSWORD'][index]) {
                console.log("success");
                window.location = './static/teacher.html?' + item;
            } else {
                alert("password error")
            }
        }
    })
})

然后通过json的parse将其变成正常的数组。

在这个地方笔者卡了很久,大约是php的编码方式和js有点区别,anyway这样就实现了php跟前端js数据的传输。

前端再通过form表单操作将前端数据发送到后台。

        $tename = $_POST['tename'];
        $teacherid = $_POST['teacherid'];
        $account = $_POST['account'];
        $password = $_POST['password'];

若用post ,php这样获取。

那么php怎么执行到数据库呢?

例如一个注册信息的传输:

$conn = oci_connect("c##stu", "stu01","",'UTF8');
$tename = $_POST['tename'];
$teacherid = $_POST['teacherid'];
$account = $_POST['account'];
$password = $_POST['password'];
//写sql语句
$sql = "INSERT INTO teacher VALUES ({$tename} ,'{$teacherid}','{$account}','{$password}')";

$stmt = oci_parse($conn,$sql);

$rw = oci_execute($stmt);

echo $sql;

$conn = oci_connect("c##stu", "stu01","",'UTF8');
$teacherid = $_GET['teacherid'];
$sql = "DELETE FROM teacher WHERE teacherid={$teacherid}";

$stmt = oci_parse($conn,$sql);

$rw = oci_execute($stmt);

改:

$conn = oci_connect("c##stu", "stu01","",'UTF8');
$tename = $_POST['tename'];
$teacherid = $_POST['teacherid'];
$account = $_POST['account'];
$password = $_POST['password'];

$sql = "UPDATE teacher SET tename={$tename},teacherid='{$teacherid}',account='{$account}',password='{$password}' WHERE teacherid={$teacherid}";

echo $sql;

$stmt = oci_parse($conn,$sql);

$rw = oci_execute($stmt);

补充点东西 如果js想向php传输参数的话呢,采用

$.get(/address/,/data/,callback);

第一个参数是地址,第二个参数是要传输的对象,记得采用键值对的形式,第三个为回调函数,这种方法便不会进行 php 的跳转。

如此就完成一个学生信息管理系统啦~

github:https://github.com/suedar/student-management-system

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值