PHP实现计算器,运算结果SQL存储

本文记录了使用PHP实现一个计算器的过程,从最初的HTML表单和基础运算,到与SQL数据库连接存储运算结果,再到界面美化。作者通过多次迭代,最终完成了PHP+SQL的计算器项目。
摘要由CSDN通过智能技术生成

一、写在前面

“为啥想起来玩这个?”: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"请确认输入是否正确";
     }
    
     结果是:
  • 数据库是:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值