當前位置:才華齋>計算機>php語言>

利用php+mysql來做一個功能強大的線上計算器

php語言 閱讀(2.79W)

有天在努力的搜尋計算器,發現都是JavaScript,而且要一個個地點選,並且不能記錄,輸入計算式子時容易出錯,於是就想了想該怎樣才能讓它好用點呢,能夠用鍵盤直接輸入。就跟隨小編去看看吧!

利用php+mysql來做一個功能強大的線上計算器

程式碼還超級簡單 就做了一個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>