• 【php增删改查实例】第十节


    正常情况下,在一个部门管理页面,不仅仅需要展示列表数据,还需要基本的增删改操作,所以,我们先把之前写好的新增功能集成进来。

    在toolbar中,添加一个新增按钮。

    <div id="toolbar" style="padding:10px 12px;">
    
    	<a href="javascript:openDialog()" class="easyui-linkbutton" iconCls="icon-add" plain="true">新增部门</a>
    
    	<br><br>
    
    	请输入部门名称:<input type="text" name="deptname" id="deptname" />
    
    	<button onclick="search();" id="submit" style="float:right;">查询</button>
    
    </div>
    

    然后,编写其点击事件:

    function openDialog(){
    	alert();
    }
    

    测试一下,在页面中点击这个新增按钮,能不能成功的alert,如果不能,那么就去仔细查看是不是哪里写错了,比如少了个括号什么的。

    在body区域加上dialog的div标签块。

    <div id="dialog0" class="easyui-dialog" style="500px;height:300px;padding:10px 20px;" closed="true"
    	       data-options="title:'部门新增'" buttons="#dialog0-buttons"> 
    		<!-- 在对话框中画一个简单的表达组件 -->
    	    <form id="form0" method="post">
    			<table cellspacing="5px;" cellpadding="0px">
    	          <tr>
    	            
    	            <td>部门编号:</td>
    	            <td><input type="text" id="deptid" name="deptid" class="easyui-validatebox" required="true"/></td>
    	          </tr>
    	          
    	          <tr>
    	            
    	            <td>部门名称:</td>
    	            <td><input type="text" id="deptname" name="deptname" class="easyui-validatebox" required="true"/></td>
    	          </tr>
    	          
    	        </table>
    
    	    </form>
    
    	  </div>
    
    	  <div id="dialog0-buttons">
    	    <a href="javascript:save();" class='easyui-linkbutton' iconCls="icon-ok">保存</a>
    	  </div>
    

    别忘了修改openDialog方法的内容:

    function openDialog(){
    	$("#dialog0").dialog("open");
    }
    

    效果:

    当我们点击保存按钮,回去调用一下save方法, 因为这个保存按钮:

    <a href="javascript:save();" class='easyui-linkbutton' iconCls="icon-ok">保存</a>
    
    

    它拥有一个save的点击事件。

    Save函数:

    function save(){
    
    
    
      $("#form0").form("submit",{
    
      	//提交的目标服务器地址
      	url : "saveDept.php" ,
    
      	//验证表单内元素是否有效?
      	onSubmit : function(){
      		return $(this).form("validate");
      	} ,
    
      	//如果服务器成功返回数据,就会启动这个方法
      	//参数data就是服务器返回的数据
      	success : function(data){
      		$.messager.alert("系统提醒","保存成功!");
      		$("#dialog0").dialog("close");
      	}
    
      });
    
    }
    

    表单提交的地址是saveDept.php.

    <?php
    
    	//建立MYSQL数据库连接
    	$conn = mysql_connect("localhost","root","");
    	//选择test数据库
    	$db = mysql_select_db("test",$conn);
    	//设置编码格式为UTF-8,以便支持中文
    	mysql_query("set names utf8");
    
    
    	$deptid = $_POST["deptid"];
    	$deptname = $_POST["deptname"];
    
    
    	//echo "部门编号:$deptid<br>";
    	//echo "部门名称:$deptname";
    
    
    	//编写sql语句
    
    	$sql = "INSERT INTO tm_dept (id, deptid, deptname, createtime, updatetime) VALUES (NULL, '$deptid', '$deptname', now(), now());";
    
    	//执行sql语句
    	mysql_query($sql) or die(mysql_error());
    
    
    	echo "success";
    
    
    ?>
    
    

    如果你希望在新增成功后,默认刷新列表,就在回调函数中加一个search方法的调用即可:

    后台错误返回

    正常情况下,后台代码的运行不会一帆风顺,可能会发生一些错误,这个时候我们就需要告诉页面有没有错,发生了什么错。在企业里面,一般会设置一个错误对象,包含错误信息和错误码。
    php:

    在执行sql之前,定义一个通用的返回对象,包含错误码和错误信息

    $resultData = array();
    $resultData['errCode'] = 0; //默认错误码为0,表示没有错误
    $resultData['errMsg'] = ""; //默认错误信息为空
    

    然后,执行sql语句的时候,调用err函数:

    //编写sql语句
    
    	$sql = "INSERT INTO tm_dept (id, deptid, deptname, createtime, updatetime) VALUES (NULL, '$deptid', '$deptname', now(), now());";
    
    	//执行sql语句
    	mysql_query($sql) or die( err() );
    
    	function err(){
    		$resultData['errCode'] = -1; 
    		$resultData['errMsg'] = mysql_error(); 
    		echo json_encode($resultData);
    	}
    

    前台接收的方式:

    $("#form0").form("submit",{
    
      	//提交的目标服务器地址
      	url : "saveDept.php" ,
    
      	//验证表单内元素是否有效?
      	onSubmit : function(){
      		return $(this).form("validate");
      	} ,
    
      	//如果服务器成功返回数据,就会启动这个方法
      	//参数data就是服务器返回的数据
      	success : function(data){
    
      		data = eval("("+data+")"); 
    
      		if(data.errCode < 0){
      			$.messager.alert("系统提醒","后台程序发生错误,原因是:<br><font style='color:red;'>"+data.errMsg+"</font>");
      			return;
      		}
    
      		$.messager.alert("系统提醒","保存成功!");
      		$("#dialog0").dialog("close");
      		search();
      	}
    
      });
    
    }
    

    PS:如果sql语句成功执行,就应该把resultData输出到页面。

    //执行sql语句
    	mysql_query($sql) or die( err() );
    
    
    	echo json_encode($resultData);
    

    下载地址:https://pan.baidu.com/s/1OXvqQwAmz7usgD4KqiUXLw

  • 相关阅读:
    浅谈自动化测试
    Linux cron定时介绍
    Python上下文管理器
    Robot Framework robot命令
    Web自动化测试之playwright:设置浏览器语言
    Python文件及目录处理方法
    2021google开发者大会
    linux环境变量设置小结
    Eclipse快捷键
    java计时 小计
  • 原文地址:https://www.cnblogs.com/skyblue-li/p/9056188.html
Copyright © 2020-2023  润新知