添加学生信息并显示

思路分析

第一,创建表单

  <fieldset>
    <legend>学生信息添加</legend>
    <form id="mainForm">
      姓名:<input type="text" name="name"> <br>
      年龄:<input type="text" name="age"> <br>
      性别:<input type="text" name="gender"> <br>
      邮箱:<input type="text" name="email"> <br>
      电话:<input type="text" name="tel"> <br>
      <input type="button" name="btn" value="添加" id="btn"> <br>
    </form>
  </fieldset>

第二、给btn绑定点击事件,获取form表单数据

$(‘#btn‘).on(‘click‘,function(){
      // 获取填写得数据
      var fm = $(‘#mainForm‘)[0];
      var fd = new FormData(fm);
    })

第三、发送ajax,将表单数据发送给后端

  $(‘#btn‘).on(‘click‘,function(){
      // 获取填写得数据
      var fm = $(‘#mainForm‘)[0];
      var fd = new FormData(fm);
      $.ajax({
        url: ‘receive.php‘,
        data: fd,
        type: ‘post‘,
        dataType: ‘text‘,
        contentType: false,
        processData: false,
        success: function(msg) {
      console.log(msg);
          }
      })
  })

第四、后端接收前端发送过来的数据,并且将发送过来的数据再返回给前端

<?php
// print_r($_POST);
$name = $_POST[‘name‘];
$age = $_POST[‘age‘];
$gender = $_POST[‘gender‘];
$email = $_POST[‘email‘];
$tel = $_POST[‘tel‘];

// 链接MySQL服务器
$conn = mysqli_connect(‘localhost‘,‘root‘,‘root‘);
// 选择要操作的数据库
mysqli_select_db($conn,‘study‘);
// 设置字符集
mysqli_query($conn,‘set names utf8‘);
// 拼接SQL语句,将数据添加到数据库
$sql = "insert into hf(sno,sname,sage,sgender,semail,stel)
values(null,‘$name‘,$age,‘$gender‘,‘$email‘,$tel)";

// 执行SQL语句,返回布尔值,后端将数据保存到数据库
$result_bool = mysqli_query($conn,$sql);
// 因为前端没有接收学生的编号,所以使用新添加的属性来获取编号,现在我拼接一个新的SQL语句,用$tel获取这个编号
$sql_no = "select sno from hf where stel=$tel";// 执行SQL语句
$result_boolno = mysqli_query($conn,$sql_no);
// die(print_r($result_boolno));// 使用mysqli_fetch_assoc()将结果对象转化为一维数组,格式:[‘sno‘=>‘编号‘]

$no = mysqli_fetch_assoc($result_boolno);
// die(print_r($no));
$n = $no[‘sno‘];
// echo $n;

// 将数据返回到前端
if ($result_bool) {//把数据拼接成一个新的数组
  $tmp_arr = [
    ‘no‘ => $n,
    ‘name‘ => $name,
    ‘age‘ => $age,
    ‘gender‘ => $gender,
    ‘email‘ => $email,
    ‘tel‘ => $tel
  ];
  // 如果是true,返回数据到前端
  echo json_encode($tmp_arr);
} else {
  echo 2;
}

 // 关闭MySQL链接
mysqli_close($conn);
?>

第五、前端接收返回来的数据,使用模板引擎将数据追加到tbody中

使用模板引擎追加

  <!-- 追加的模板标签内容 -->
  <script type="text/template" id="tpl2">
    <tr>
        <td><%=no%></td>
        <td><%=name%></td>
        <td><%=age%></td>
        <td><%=gender%></td>
        <td><%=email%></td>
        <td><%=tel%></td>
    </tr>
  </script>
  <!-- ①a给btn绑定点击事件 -->
  <script type="text/javascript">
    $(‘#btn‘).on(‘click‘,function(){
      // ②获取填写得数据,发送ajax请求,将数据发送到后端
      var fm = $(‘#mainForm‘)[0];
      var fd = new FormData(fm);
      $.ajax({
        url: ‘receive.php‘,
        data: fd,
        type: ‘post‘,
        dataType: ‘text‘,
        contentType: false,
        processData: false,
        success: function(msg) {
          // ③后端接收前端传送过来的数据
          console.log(msg);
          // ⑤在前端追加新添加的数据
          if(msg==2) {
            location.reload();
            alert(‘添加失败‘);
          } else {
            msg = JSON.parse(msg);
            console.log(msg);
            // 这时,按要求不刷新页面,在右边添加图片轮播的内容
          var str = template(‘tpl2‘,msg);
          $(‘tbody‘).append(str);        // 清空表单内容
          fm.reset();
          }
        }
      })
      // location.reload();
    })

测试了太多会,编号的自增长达到81.。。。

关键点总结

第一、ajax进行前后端交互

第二、模板引擎的用法

第三、清空form表单(刷新页面):

  fm.reset();----Form标签的DOM对象有一个reset方法,该方法可以清空表单内容
  localtion.reload()

第四、数据库操作及SQL语句

原文地址:https://www.cnblogs.com/houfee/p/9227028.html

时间: 2024-10-09 14:29:35

添加学生信息并显示的相关文章

从C#中通过Windows窗体添加信息到数据库 (添加学生信息)

如上图所示界面,当我们点击保存按钮时将会将表格中的数据保存到数据库中去,与数据库进行一个交互 第一步我们就是要获取到表格中的数据 string pwd = textpwd.Text; //获得第一次输入密码 string agePqd = txtsurepwd.Text; //获得第二次输入的密码 string name = textname.Text; //获得用户输入的名字 int grendID = Change(); //获得用户输入年级 string phone = textphone

添加学生信息(Javaweb)

add.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%> <% request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8 response.setChar

java7连接数据库 网页 添加学生信息测试

石家庄铁道大学2019年秋季   2018 级课堂测试试卷(六)(10分) 课程名称: JAVA语言程序设计  任课教师: 王建民        考试时间: 150 分钟 一. 考试要求: 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分) 3性别:要求用单选框或下拉框实现,选项只有“男”或“女”:(1分) 4学号:要求八位数字组成,前四位为“2018”开头,输入自己学号:(1

web添加学生信息(首发web)

程序思路,先在JSP上画好页面,然后再创建一Servlet文件用于判断在网页上操作是否正确,还需要与数据库相连接,用DBUtile文件连接数据库,用Dao层来实现数据的增加,用Service来服务于Dao层 其代码如下: jsp页面代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <%@ page language="ja

向班级集合中添加学生信息

实现效果: 知识运用: System.Collections命名空间下的ArrayList集合类的Add()方法 使用了 DataGridView 控件 实现代码: private void Form1_Load(object sender, EventArgs e) { ArrayList list_StudentInfo = new ArrayList(); string students=""; string[] arr_student, arr_studentinfo; lis

javaweb之添加学生信息

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title>

实现学生信息添加界面(连接数据库)

  1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分) 3性别:要求用单选框或下拉框实现,选项只有“男”或“女”:(1分) 4学号:要求八位数字组成,前四位为“2018”开头,输入自己学号:(1分) 5姓名:输入自己的姓名: 5电子邮箱:要求判断正确格式[email protected]:(1分) 6点击“添加”按钮,将学生个人信息存储到数据库中.(3分) 7可以演示连接上数据

学习练习 读取学生信息表并添加数据

1 <%@page import="java.sql.*"%> 2 <%@page import="java.sql.DriverManager"%> 3 <%@ page language="java" contentType="text/html; charset=UTF-8" 4 pageEncoding="UTF-8"%> 5 <!DOCTYPE html

学生信息管理系统修改

北京工业大学耿丹学院 c语言设计课程报告   课程设计名称:高级语言程序设计 专业班级:计算机科学与技术1 姓名:吴双 学号:150809201   2016年5月10日 一 对c语言指针链表的体会 ------------------------ 二 修改学生信息管理系统 ------------------------ 三 体会 ------------------------ 一 对c语言指针链表的体会 1.指针 简单来说,指针是一个存储计算机内存地址的变量. 用 int *ptr 这种形