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

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

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

然后建表

学生信息管理系统(js与php的数据传输)_第1张图片

插入数据

学生信息管理系统(js与php的数据传输)_第2张图片
(这里仅作一个示例)

另外建表的时候要注意,因为要创建视图,所以应该把要与另一个表连接的项建为外键,然后另一个表通过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

学生信息管理系统(js与php的数据传输)_第3张图片

根据用户名连接

打开用户名就能看到自己的小成果啦
学生信息管理系统(js与php的数据传输)_第4张图片

然后我们编写前端页面。然后编写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

转载于:https://www.cnblogs.com/suedar/p/8506312.html

你可能感兴趣的:(学生信息管理系统(js与php的数据传输))