利用php+mysql来做一个功能强大的在线计算器
2015-01-24信息快讯网
有天在努力的搜索计算器,发现都是JavaScript,而且要一个个地点击,并且不能记录,输入计算式子时容易出错,于是就想了想该怎样才能让它好用点呢,能够用键盘直接输入。
找了很久,发现网上资料很少,于是想自己动手写,慢慢的发现问题多了,自己不怎么通算法,写一个计算式子短点还好,长了就挂了,再长点恐怕就要死机。有一天做做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中运用jQuery的Ajax跨域调用实现代码
修改PHP的memory_limit限制的方法分享
php中取得文件的后缀名?
ThinkPHP写第一个模块应用
phpmail类发送邮件函数代码
PHP备份数据库生成SQL文件并下载的函数代码
PHP持久连接mysql_pconnect()函数使用介绍
mysql数据库差异比较的PHP代码
PHP开发者常犯的10个MySQL错误更正剖析
PHP中全面阻止SQL注入式攻击分析小结
php 团购折扣计算公式
php数组函数序列之array_sum() - 计算数组元素值之和
php中计算中文字符串长度、截取中文字符串的函数代码
PHP几个数学计算的内部函数学习整理
用PHP实现的四则运算表达式计算实现代码
php学习之简单计算器实现代码
php更改目录及子目录下所有的文件后缀扩展名的代码
发一个php简单的伪原创程序,配合商城采集用的
php知道与问问的采集插件代码
php笔记之常用文件操作
php+jquery编码方面的一些心得(utf-8 gb2312)
windows下升级PHP到5.3.3的过程及注意事项
PHP中的MYSQL常用函数(php下操作数据库必备)
小文件php+SQLite存储方案
apache+php+mysql安装配置方法小结
PHP连接SQLServer2005 的问题解决方法
php下mysql数据库操作类(改自discuz)
php中计算时间差的几种方法
php 计算两个时间戳相隔的时间的函数(小时)
计算一段日期内的周末天数的php代码(星期六,星期日总和)
php strlen mb_strlen计算中英文混排字符串长度