PHP项目实战之商品的增删改查

2021/9/18 22:35:07

本文主要是介绍PHP项目实战之商品的增删改查,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

  • 一.项目思路
    • 1.连接数据库
    • 2.新建数据库、数据表...
    • 3.代码思路
    • 4.文件目录
  • 二.查询端口号
  • 三.常见错误
    • 1.项目部署问题
      • 错误分析
      • 解决方案
    • 2.中文变成“ ???”的问题
      • 解决方案
  • 四.框架网站
  • 五.源码下载地址

一.项目思路

1.连接数据库

确保两个服务是打开的,分别是Apache_pn(阿帕奇服务器的服务)、MySQL5_pn(数据库服务)。

接着,输入网址:http://127.0.0.1/phpmyadmin/

显示数据库的登录界面

在这里插入图片描述

进入数据库

在这里插入图片描述

2.新建数据库、数据表…

新建数据库
在这里插入图片描述

新建数据表
在这里插入图片描述
创建字段
在这里插入图片描述
插入值
在这里插入图片描述
最终效果
在这里插入图片描述

3.代码思路

①先写一个商品首页的文件,样式用的是angular.js框架的样式。
在这里插入图片描述

<?php
    require_once "database.php";
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>商品首页</title>
    <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.3/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <table class="table">
        <thead>
            <tr>
                <th>商品名称</th>
                <th>商品价格</th>
                <th>商品数量</th>
                <th>商品备注</th>
                <th>操作</th>
            </tr>
        </thead>
       <tbody>
            <?php
                //查询所有数据的sql语句
                $sql = "SELECT * FROM `product`";
                //执行sql语句
                $result = $conn->query($sql);
            ?>
            <?php
                while($row = $result -> fetch_assoc()){
                    // var_dump($row);
            ?>
            <tr>
                <td><?php echo $row["p_name"];?></td>
                <td><?php echo $row["price"];?></td>
                <td><?php echo $row["p_count"];?></td>
                <td><?php echo $row["remark"];?></td>
                <td>
                    <a href="edit.php?id=<?php echo $row['id'];?>">编辑</a>
                    <a href="delete.php?id=<?php echo $row['id']?>">删除</a>
                </td>
            </tr>
            <?php 
                }
            ?>
       </tbody>
    </table>
    <div class="text-center">
        <a href="add.html">添加新商品</a>
    </div>
</body>
</html>

②再写一个连接数据库的文件。

<?php
    //利用面向对象的方法连接数据库
    $conn = new mysqli("localhost","root","123456","product_db");
    //判断
    if($conn->connect_error){
        die("连接失败");
    }
    //转换编码格式
    $conn ->query("set names utf8");
?>

③再写一个删的文件,连接数据库文件,执行删除的sql语句。

<?php
    $id = $_GET["id"];
    require_once "database.php";
    //删除的sql
    $sql="DELETE FROM `product_db`.`product` WHERE `product`.`id` = $id";
    //执行sql
    $conn -> query($sql);

    //回到首页
    header("Location:index.php");
?>

④再写2个添加的文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>添加新商品</title>
</head>
<body>
    <form action="add.php" method="get">
        <input name="n" type="text" placeholder="商品名称">
        <input name="j" type="text" placeholder="商品价格">
        <input name="s" type="text" placeholder="商品数量">
        <textarea name="b" cols="30" rows="10"></textarea>
        <input type="submit" value="添加">
    </form>
</body>
</html>
<?php
    //名称
    $n=$_GET["n"];
    //价格
    $j=$_GET["j"];
    //数量
    $s=$_GET["s"];
    //备注
    $b=$_GET["b"];

    //连接数据库
    require_once "database.php";

    //插入语句
    $sql = "INSERT INTO `product`(`id`,`p_name`,`price`,`p_count`,`remark`) VALUES(NULL,'$n','$j','$s','$b');";
    //执行插入语句
    $conn->query($sql);

    //回到首页
    header("location:index.php");
?>

⑤再写一个编辑的文件

<?php
    $id = $_GET["id"];

    require_once "database.php";

    //根据id查到当前商品是谁
    $sql = "SELECT * FROM `product` WHERE `id`= $id ";
    //查询
    $result = $conn->query($sql); 

    //得到商品的具体信息
    $res = $result -> fetch_assoc();
    //var_dump($res);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>商品编辑页</title>
</head>
<body>
    <form action="update.php" method="get">
        <input hidden name="i" value="<?php echo $res['id'] ?>" type="text">
        <input name="n" type="text" value="<?php echo $res['p_name'];?>" placeholder="商品名称">
        <input name="j" type="text" value="<?php echo $res['price'];?>"placeholder="商品价格">
        <input name="s" type="text" value="<?php echo $res['p_count'];?>"placeholder="商品数量">
        <textarea name="b" cols="30" rows="10"><?php echo $res['remark'];?></textarea>
        <input type="submit" value="更新商品信息">
    </form>
</body>
</html>

⑥再写一个更新的文件。

<?php
    //id
    $i=$_GET["i"];
    //名称
    $n=$_GET["n"];
    //价格
    $j=$_GET["j"];
    //数量
    $s=$_GET["s"];
    //备注
    $b=$_GET["b"];
    
    require_once "database.php";
    //更新语句
    $sql = "UPDATE `product` SET `p_name` = '$n',`price`='$j',`p_count`='$s',`remark` = '$b' WHERE `product`.`id` = $i;";
    //执行更新语句
    $conn->query($sql);

    //回到首页
    header("location:index.php")
?>

注意事项:要把shop整个项目放在htdocs目录下,不然会出现错误。
在这里插入图片描述

4.文件目录

在这里插入图片描述

二.查询端口号

用cmd命令查询端口号

C:\Users\HP>d:

D:\>cd D:\phpNow\MySQL-5.0.90\bin

D:\phpNow\MySQL-5.0.90\bin>mysql -u root -p

mysql> status  //查看端口号

三.常见错误

1.项目部署问题

错误分析

Fatal error: Class 'mysqli' not found in D:\phpNow\htdocs\shop\database.php on line 3

翻译之后

在D: phpNow\htdocs\shop\database.php第3行中没有找到Class 'mysqli

解决方案

在PHPnow中找到php-apache2handler.ini文件,用记事本打开,去掉;extension=php_mysqli.dll前面的分号。(可以利用记事本的查找功能实现快速查找)

在这里插入图片描述

在搜索框输入文件名,可以快速找到文件。

2.中文变成“ ???”的问题

在这里插入图片描述

解决方案

中文变成“???”的解决方案:在连接接数据库时,我们可以进行转码。

//转换编码格式
$conn ->query("set names utf8");

四.框架网站

https://www.bootcdn.cn/
在这里插入图片描述

在这里插入图片描述

五.源码下载地址

https://download.csdn.net/download/William_fang/23546537



这篇关于PHP项目实战之商品的增删改查的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程