一、写在前面
“为啥想起来玩这个?”:php实验课的时候老师说要弄一个计算器,就着手开始做这个了,结果弄了好几天才完结;
”怎么会这么久?“:对,php做计算器是简单,可是我这个菜鸡是真的菜,硬是弄成了几个阶段:
step1:用html写了个表单,php写了个运算过程,可是结果显示在新的页面,输入阶段的页面被覆盖了,一脸懵;
step2:找资料弄清楚了做法,在原有的php上加了点,终于显示正常的计算器了;
step3:又想到存值,再一次修改了php文件,连接上了数据库SQL;
step4:美化了一下界面,计算器php+sql.终结版finish。。。
二、实现步骤:
-
先创建 数据库
- 创建数据库的方法有很多,我这里就用php创了个数据库:
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$conn = new mysqli($servername, $username, $password);
if ($conn->connect_error) {
die("connect fail: " . $conn->connect_error);
}
$sql = "CREATE DATABASE test";
if ($conn->query($sql) === TRUE) {
echo "数据库创建成功";
} else {
echo "create database fail: " . $conn->error;
}
$sql = "CREATE TABLE Calculator (
num1 INT(4) ,
option VARCHAR(4) ,
num2 INT(4),
num3 INT(4)
)";
if ($conn->query($sql) === TRUE) {
echo "Table Calculator created successfully";
} else {
echo "create table fail: " . $conn->error;
}
$conn->close();
?>
我用phpMyAdmin显示了一下:
然后写一个html表单加上一点php语句
<?php
if(isset($_GET["n"]))
{
$num1=$_GET["n1"];
$num2=$_GET["n2"];
$option=$_GET["op"];
$num=$_GET["n"];
}
?>
<html>
<head>
<meta charset="UTF-8">
<title>计算器</title>
</head>
<body>
<form action="jjj.php" method="get">
第一个数:<input id="op1" name="op1" type="text"
value="<?php if(isset($_GET["op"])){echo $num1;}?>"
><br>
运算符: <select name="option">
<option value="0">请选择运算符:</option>
<option value="+" <?php
if(isset($_GET["op"])){
echo ($_GET["op"]==" "?"selected":"");
}
?>
>+</option>
<option value="-" <?php
if(isset($_GET["op"])){
echo ($_GET["op"]=="-"?"selected":"");
}
?>
>-</option>
<option value="*" <?php
if(isset($_GET["op"])){
echo ($_GET["op"]=="*"?"selected":"");
}
?>
>*</option>
<option value="/" <?php
if(isset($_GET["op"])){
echo ($_GET["op"]=="/"?"selected":"");
}
?>
>/</option>
</select> <br>
第二个数:<input name="op2" type="text"
value="<?php if(isset($_GET["op"])){echo $num2;}?>"
> <br>
<input name="run" type="submit" value="ready"/>
<br/>
运算结果:<input type='text' <?php
if(isset($_GET["op"])){
if($_GET["op"]==" "){
echo "value=".$num1."+".$num2."=".$num;
}
else{
echo"value=".$num1.$option.$num2."=".$num;
}
}
?>
>
</form>
</body>
</html>
基本是这样:
就这么一个简单的东西,我弄了两三天,真是当之无愧的菜鸡。。。。
- 再弄一个运算的run.php就行了
结果是:<?php if(isset($_GET['run'])){ $num1=$_GET['op1']; $op=$_GET['option']; $num2=$_GET['op2']; switch ($op){ case '+' : $num=$num1+$num2; break; case '-' : $num=$num1-$num2; break; case '*' : $num=$num1*$num2; break; case '/' : $num=$num1/$num2; break; } $servername = "localhost"; $username = "root"; $password = "root"; $dbname = "test"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); $sql ="insert into Calculator (num1,option,num2,num3) values ($num1,'$op',$num2,$num)"; if (mysqli_query($conn, $sql)) { echo "新记录插入成功"; } else { echo "insert Error: " . $sql . "<br>" . $conn->error; } header("location:calculator.php?n1={$num1}&n2={$num2}&op={$op}&n={$num}"); } else{ echo"请确认输入是否正确"; }
- 数据库是: