利用php+mysql来做一个功能强大的在线计算器


Posted in PHP onOctober 12, 2010

找了很久,发现网上资料很少,于是想自己动手写,慢慢的发现问题多了,自己不怎么通算法,写一个计算式子短点还好,长了就挂了,再长点恐怕就要死机。

有一天做做mysql突然发现原来mysql功能这么强大,可以直接计算字符串。。。哈哈 这下可就高兴了。

代码还超级简单 就做了一个ajax的计算器

有式子错误提示 还可以时时显示输入的式子

有兴趣的朋友可以看看 更多的功能可以自己去开发

演示地址:http://www.jianlila.com/jsq.php

jquer.js自己去下载

jsq1.php

<?php 
//链接数据库的 
$db=mysql_connect("localhost","root","123"); 
header("Content-Type:text/html;charset=GB2312"); 
$str=iconv('utf-8','gbk',trim($_POST['t_ask'])); 
$str=str_replace(" ","",str_replace("\r\n","",$str)); 
$str=str_replace("(","(",$str); 
$str=str_replace(")",")",$str); 
/*三角函数替换*/ 
$str=preg_replace("/sin\((.*)\)/is","sin(\${1}*pi()/180)",$str);//替换sin 
$str=preg_replace("/cos\((.*)\)/is","cos(\${1}*pi()/180)",$str);//替换cos 
$str=preg_replace("/tan\((.*)\)/is","tan(\${1}*pi()/180)",$str);//替换tan 
$str=preg_replace("/cot\((.*)\)/is","1/tan(\${1}*pi()/180)",$str);//替换余切 
$str=preg_replace("/asin\((.*)\)/is","asin(\${1}/pi()*180)*180/pi()",$str);//反正弦 
$str=preg_replace("/acos\((.*)\)/is","acos(\${1}/pi()*180)*180/pi()",$str);//反余弦 
$str=preg_replace("/atan\((.*)\)/is","atan(\${1}/pi()*180)*180/pi()",$str);//替换反正切 
$sql="select ".$str ; 
$res=mysql_query($sql,$db) or die('<font color=red>你输入的式子有错误</font>'); 
$rs=mysql_fetch_array($res); 
echo $rs[0]; 
?>

jsq.php
<html> 
<head> 
<title>手写输入计算器</title> 
<meta name="keywords" content="在线计算器,输入式子直接计算,手写计算器" /> 
<meta name="description" content="在线计算器,手写输入计算器,输入式子直接计算" /> 
<script src="jquery.js" language="javascript"></script> 
<script language="javascript"> 
$(function(){ 
$("#t_ask").keyup(function(){ 
$.post( 
"jsq1.php", 
{ 
t_ask : $("#t_ask").val() 
},function(data,textStatus) 
{ 
$("#res").html(data); 
} 
); 
}); 
}); 
</script> 
</head> 
<body> 
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0"> 
<tr> 
<td align="center" height="40"><h2>手写输入计算器</h2></td> 
</tr> 
</table> 
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0"> 
<tr> 
<td height="34" align="center">在这里你可以手写式子计算哦,还不快试试! <a href="http://www.jianlila.com">返回首页</a></td> 
</tr> 
</table> <form method="post"> 
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0"> 
<tr> 
<td width="27%" align="right">计算式子:</td> 
<td width="73%"><textarea name="t_ask" cols="60" rows="6" id="t_ask"></textarea></td> 
</tr> 
<tr> 
<td height="23" align="right">=</td> 
<td><div id="res"></div></td> 
</tr> 
<tr> 
<td height="31" align="right"></td> 
<td><input type="button" name="tj" id="tj" value="按钮" /> 
<input type="reset" name="qc" id="qc" value="重置" /></td> 
</tr> 
</table> 
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0"> 
<tr> 
<td><p>说明:<br /> 
三角函数: 
<p>sin(60)正弦 cos(60)余弦 tan(60)正切 cot(60)余切 
<p>asin(0.5)反正弦 acos(0.5) 
反余弦 atan(0.5)反正切 
<p>abs(-1)=1绝对值 ceil(0.1)=1进一 
<p>指数对数 
<p>exp(float arg)// 计算 <strong>e</strong>(自然对数的底)的指数 
<p>log(10,100)=2//自然对数 pow(2,4)=16 指数 sqrt(4)=2平方根 
<p><br /> 
</td> 
</tr> 
</table> 
</form> 
</body> 
</html>
PHP 相关文章推荐
PHP中的类-什么叫类
Nov 20 PHP
PHP 字符串编码截取函数(兼容utf-8和gb2312)
May 02 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
ThinkPHP模板比较标签用法详解
Jun 30 PHP
php计算整个目录大小的方法
Jun 01 PHP
编写PHP脚本来实现WordPress中评论分页的功能
Dec 10 PHP
php简单实现sql防注入的方法
Apr 22 PHP
php实时倒计时功能实现方法详解
Feb 27 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
PHP7 echo和print语句实例用法
Feb 15 PHP
yii框架使用分页的方法分析
Jul 25 PHP
PHP递归统计系统中代码行数
Sep 19 PHP
发一个php简单的伪原创程序,配合商城采集用的
Oct 12 #PHP
php知道与问问的采集插件代码
Oct 12 #PHP
php笔记之常用文件操作
Oct 12 #PHP
php+jquery编码方面的一些心得(utf-8 gb2312)
Oct 12 #PHP
windows下升级PHP到5.3.3的过程及注意事项
Oct 12 #PHP
PHP OPCode缓存 APC详细介绍
Oct 12 #PHP
并发下常见的加锁及锁的PHP具体实现代码
Oct 12 #PHP
You might like
一段php加密解密的代码
2006/10/09 PHP
PHP array 的加法操作代码
2010/07/24 PHP
一个简单且很好用的php分页类
2013/10/26 PHP
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
PHP动态编译出现Cannot find autoconf的解决方法
2014/11/05 PHP
PHP实现简单实用的验证码类
2015/07/29 PHP
许愿墙中用到的函数
2006/10/07 Javascript
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
仅IE支持clearAttributes/mergeAttributes方法使用介绍
2012/05/04 Javascript
jquery创建一个ajax关键词数据搜索实现思路
2013/02/26 Javascript
Jquery实现三层遍历删除功能代码
2013/04/23 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
js倒计时抢购实例
2015/12/20 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
2016/10/14 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
2016/12/29 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
纯JS实现弹性导航条效果
2017/03/06 Javascript
详解利用 Vue.js 实现前后端分离的RBAC角色权限管理
2017/09/15 Javascript
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
使用puppeteer破解极验的滑动验证码
2018/02/24 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
linux下安装easy_install的方法
2013/02/10 Python
详解Python 模拟实现生产者消费者模式的实例
2017/08/10 Python
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
Mio Skincare法国官网:身体紧致及孕期身体护理
2018/04/04 全球购物
创新比赛获奖感言
2014/02/13 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
我的中国梦主题班会
2015/08/14 职场文书
员工给公司的建议书
2019/06/24 职场文书
你会写报告?产品体验报告到底该怎么写?
2019/08/14 职场文书
导游词之神仙居景区
2019/11/15 职场文书
导游词之台湾安平古堡
2019/12/25 职场文书
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
2021/04/25 Python
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android