您现在的位置是:网站首页> 编程资料编程资料
thinkPHP框架实现的简单计算器示例_php实例_
2023-05-25
305人已围观
简介 thinkPHP框架实现的简单计算器示例_php实例_
本文实例讲述了thinkPHP框架实现的简单计算器。分享给大家供大家参考,具体如下:
HTML部分 文件名 index.html
计算器 登录计算器当前结果:
历史记录:
- 删除
CSS样式 文件名 index.css
.login{/*登录*/ height: 30px; width: 100px; background-color: #00a2d4; text-align: center; cursor: pointer; padding-top: 10px; position: fixed; } .register{ display: none; position: fixed; } .calculator{ display: none; position: fixed; } .counter{ border: 1px solid black; height: 400px; width: 320px; float: left; } .import{ height: 20px; width: 180px; margin-top: 50px; margin-left: 50px; } .snap{ margin-left: 50px; margin-top: -30px; } .snap input{ height: 30px; width: 30px; } .result{ border: 1px solid black; height: 400px; width: 320px; float: left; margin-left: 50px; } .brand{ position: relative; top: 50px; left: 90px; } JS部分 文件名 index.js
//计算屏幕宽高 var w_width = $(window).width(); var w_height = $(window).height(); var operator = 0;//运算符号 var change = 0;//属于运算符后需要清空上一数值 var num1 = 0;//元算的第一个数据 var num2 = 0;//运算的第二个数据 var sum = 0;//运算结果 //居中 function setCenter(obj){ var this_width = $(obj).width(); var this_height = $(obj).height(); var this_left = parseInt((w_width-this_width)/2); var this_height = parseInt((w_height-this_height)/2); $(obj).css({left:this_left,top:this_height}); } //正则 function testReg() { //定义参数 var regType = arguments[0]?arguments[0]:'phone'; var myString = arguments[1]?arguments[1]:false; var regArray = new Array(); regArray['phone'] = /^1[3|4|5|7|8]\d{9}$/; regArray['email'] = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;//邮箱 *代表{0,} +代表{1,} ?代表{0,1} //判断 if (myString){ return regArray[regType].test(myString); } return false; } //发送数据到后台 function sendMessage() { //手机号 var myphone = $("#myphone").val(); //计算器 var myUrl = '/app/base.php'; var myData = {num1:num1,num2:num2,cal_option:operator,cal_result:sum,myphone:myphone,type:'add'}; $.post(myUrl,myData,function (msg) { //TODO },'json') getResultByPhone(); } //获取结果 function getResultByPhone() { var myphone = $("#myphone").val(); var myUrl = '/app/base.php'; var myData = {myphone:myphone,type:'getResult'}; $.post(myUrl,myData,function (msg) { //TODO $("#cal_result").html(msg); },'text') } //获取数据 function deleteHistory(id) { var myUrl = '/app/base.php'; var MyData = {id:id,type:'delete'}; $.post(myUrl,MyData,function (msg) { //TODO },'json') getResultByPhone(); } $(function () { //登录居中 setCenter($(".login").show(8000)); //点击登录显示输入 $(".login").click(function(){ setCenter($(".register").show()); $(this).hide(); }); //点击使用显示计算器 $("#use").click(function () { if (testReg('phone',$("#myphone").val())){ setCenter($(".calculator").show()); $(".register").hide(); getResultByPhone() }else { alert ("你输的手机格式不对"); return false; } }) $(".order").click(function () {//点击数字 var num = $(this).val(); var oldValue = $(".import").val(); if (change ==1){ oldValue = "0"; change = 0; } var newValue = ""; if (num == -1){ oldValue = parseFloat(oldValue); newValue = oldValue * -1; }else if (num == "."){ if (oldValue.indexOf('.') == -1) newValue = oldValue + "."; else newValue = oldValue; }else { if (oldValue == 0 && oldValue.lastIndexOf('.') == -1){ newValue = num; }else { newValue = oldValue + num; } } $(".import").val(newValue); }); $("#clear").click(function () {//清除 $(".import").val("0"); operator = 0; change = 0; num1 = 0; num2 = 0; }); $("#backspace").click(function () {//退格 if (change ==1){ operator = 0; change = 0; } var value = $(".import").val(); if (value.length == 1){ $(".import").val("0"); }else { value = value.substr(0,value.length - 1); $(".import").val(value); } }); $(".operator").click(function() {//点击运算符号触发事件 change = 1; operator = $(this).val(); var value = $(".import").val(); var dianIndex = value.indexOf("."); if (dianIndex == value.length) { value = value.substr(0, value.length - 1); } num1 = parseFloat(value); }); $("#equal").click(function () {//点击等号 var value = $(".import").val(); var dianIndex = value.indexOf("."); if (dianIndex == value.length){ value = value.substr(0,value.length - 1); } var equal = $(this).val(); num2 = parseFloat(value); if (operator == "+"){ sum = num1 + num2; }else if (operator == "-"){ sum = num1 - num2; }else if (operator == "*"){ sum = num1 * num2; }else if (operator == "/"){ sum = num1 / num2; }else if (operator == "" || num1 ==0 || num2 == 0){ sum = num1 +num2; } var re = /^[0-9]+.?[0-9]*$/; if (re.test(sum)){ sum = sum.toFixed(2); } $(".import").val(sum); sendMessage(); $("#current_results").text(num1 + operator + num2 + equal + sum); change = 1; operator = 0; num1 = 0; num2 = 0; }); }) 接口 文件名 IDB.php
创建一个Mysqli类继承接口实现增删改查
文件名 MySqli.clsaa.php
'', 'user' => '', 'pwd' => '', 'db' => '' ); private static $_instance = null; private function __construct($config){ if(is_array($config)){ $this->sysConfig = array_merge($this->sysConfig,$config); $this->conn = new \Mysqli($this->sysConfig['host'],$this->sysConfig['user'],$this->sysConfig['pwd'],$this->sysConfig['db']); if (!$this->conn){ echo "连接失败".mysqli_error(); } } } public static function getInstance($config){ if (is_null(self::$_instance)){ self::$_instance = new self($config); } return self::$_instance; } //设计表 public function table($table){ $this->table = $table; return $this; } //查询 private function changeCondition($condition){ $where_array = array(); foreach($condition as $k => $v){ if(is_array($v)){ if(strtolower($v[0])=='like'){ $where_array[] = $k.' '.$v[0].' \'%'.$v[1].'%\''; }else{ $where_array[] = $k.' '.$v[0].' \''.$v[1].'\''; } } if(is_string($v)){ $where_array[] = $k.' = \''.$v.'\''; } } $where = implode(' AND ',$where_array); return $where?$where:1; } public function select($condition){ $where = $this->changeCondition($condition); $sql = "select * from $this->table where ".$where."order by id desc limit 10"; $res = $this->conn->query($sql); $ret = array(); while ($row = $res->fetch_assoc()){ $ret[] = $row; } return $ret; } public function insert($data){ $sql = "insert into `{$this->table}` ( `id` ,`user_phone` ,`num1` ,`num2` ,`option` ,`result` ,`status` ,`admin_user` ) VALUES ( NULL , '{$data['myphone']}', '{$data['num1']}', '{$data['num2']}', '{$data['cal_option']}', '{$data['cal_result']}', '1', 'mao' )"; $this->conn->query($sql); } public function update($id){ $sql = "UPDATE `{$this->table}` SET `status` = '-1' WHERE `id` ={$id}"; $this->conn->query($sql); } public function del($condition){ } } 配置项 文件名 config.php
[ 'host' => '127.0.0.1', 'user' => 'root', 'pwd' => 'root', 'db' => 'cal' ], 'author' =>[ 'adminuser' => 'mao', ] ];
操作计算器 文件名 base.php
array('like',$_POST['myphone']), 'status'=> '1' ); $result = $db->table('calculate')->select($condition); $result_string = ''; foreach ($result as $k => $v){ $result_string .= "
相关内容
- PHP实现的简单留言板功能示例【基于thinkPHP框架】_php实例_
- laravel5使用freetds连接sql server的方法_php实例_
- php多进程模拟并发事务产生的问题小结_php技巧_
- Ubuntu 16.04中Laravel5.4升级到5.6的步骤_php实例_
- PHP ajax+jQuery 实现批量删除功能实例代码小结_php实例_
- PHP实现简易计算器功能_php实例_
- laravel5实现微信第三方登录功能_php实例_
- PHP实现简单计算器小程序_php实例_
- ThinkPHP 3.2.3实现加减乘除图片验证码_php实例_
- php实现算术验证码功能_php技巧_
点击排行
本栏推荐
