IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> PHP项目实战之商品的增删改查 -> 正文阅读

[大数据]PHP项目实战之商品的增删改查

一.项目思路

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

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-19 08:02:49  更:2021-09-19 08:04:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:25:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码