利用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 相关文章推荐
删除无限级目录与文件代码共享
Jul 12 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
Aug 21 PHP
ThinkPHP CURD方法之order方法详解
Jun 18 PHP
PHP输出日历表代码实例
Mar 27 PHP
php利用header函数下载各种文件
Aug 24 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
Nov 14 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
PHP实现的简单路由和类自动加载功能
Mar 13 PHP
yii2 上传图片的示例代码
Nov 02 PHP
PHP fprintf()函数用法讲解
Feb 16 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
Sep 17 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
教你如何快捷的使用cmd访问mysql小技巧
2014/05/26 PHP
php实现微信扫码支付
2017/03/26 PHP
PHP实现唤起微信支付功能
2019/02/18 PHP
docker-compose部署php项目实例详解
2019/07/30 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
2019/08/06 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
Javascript - HTML的request类
2006/07/15 Javascript
IE iframe的onload方法分析小结
2010/01/07 Javascript
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
最新的10款jQuery内容滑块插件分享
2011/09/18 Javascript
jquery图片放大功能简单实现
2013/08/01 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
详谈LABJS按需动态加载js文件
2015/05/07 Javascript
给before和after伪元素设置js效果的方法
2015/12/04 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
关于Vue Webpack2单元测试示例详解
2017/08/14 Javascript
使用vue自定义指令开发表单验证插件validate.js
2019/05/23 Javascript
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
盘点提高 Python 代码效率的方法
2014/07/03 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
巧用CSS3 border实现图片遮罩效果代码
2012/04/09 HTML / CSS
耐克奥地利官网:Nike奥地利
2019/08/16 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
三下乡活动方案
2014/01/31 职场文书
如何撰写岗位职责
2014/02/01 职场文书
学习型党组织建设经验材料
2014/05/26 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
11.9消防日宣传标语
2014/10/08 职场文书
无犯罪记录证明样本
2015/06/16 职场文书
入党函调证明材料
2015/06/19 职场文书
新学期感想
2015/08/10 职场文书