利用php+mysql来做一个功能强大的在线计算器
- php语言
- 关注:2.62W次
有天在努力的搜索计算器,发现都是JavaScript,而且要一个个地点击,并且不能记录,输入计算式子时容易出错,于是就想了想该怎样才能让它好用点呢,能够用键盘直接输入。就跟随小编去看看吧!
代码还超级简单 就做了一个ajax的'计算器
有式子错误提示 还可以时时显示输入的式子
演示地址:
自己去下载
复制代码 代码如下:
<?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("rn","",$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];
?>
复制代码 代码如下:
<html>
<head>
<title>手写输入计算器</title>
<meta name="keywords" content="在线计算器,输入式子直接计算,手写计算器" />
<meta name="description" content="在线计算器,手写输入计算器,输入式子直接计算" />
<script src="" language="javascript"></script>
<script language="javascript">
$(function(){
$("#t_ask")p(function(){
$(
"",
{
t_ask : $("#t_ask")()
},function(data,textStatus)
{
$("#res")(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="">返回首页</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><p id="res"></p></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>
- 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/jsj/php/qx5qm.html