入门PHP就来我这(高级)15 ~ 图书删除功能

有胆量你就来跟着路老师卷起来! -- 纯干货,技术知识分享

路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。

 


 今天给大家接着上篇文章实现图书删除功能,来实现删除图书信息记录行的功能。

 1 删除图书

首先我们的开始页面在列表:

当点击删除红色按钮后,直接触发删除功能。当我们看到列表对应的html文件的时候会发现删除按钮触发的是deleteBook.php文件。

<a href="deleteBook.php?id=<?php echo $rows[0] ?>"><button class="btn btn-danger delete">删除</button>
</a>

 所以此时我们要创建deleteBook.php文件,并实现删除逻辑。

deleteBook.php文件详情如下:

<?php$dbName = 'db_test';$link = mysqli_connect('localhost','root','passwd',$dbName) or die("连接数据库服务器失败!".mysqli_error());if(!$link){die('mysqli connect error:'.mysqli_connect_error());}$id = $_GET['id'];$sql = 'delete from books where id ='.$id;$result = mysqli_query($link,$sql);if($result) {echo "<script>alert('删除成功!');window.location.href='index.php';</script>";}else{echo "<script>alert('删除失败!');</script>";}
?>

我们看到,当删除成功后,会弹出删除成功提示弹框,并路由到首页列表。比如删除id为6的图书。

看是不是已经把id为6的图书删除掉了:

 2 新增图书优化

好奇的你是否发现了我的首页列表上面突然多出来一个新增按钮?那就是我现在说的优化。

 很简单,就是在列表lists.html里添加一个按钮并实现跳转实现:

<div class="panel-heading">图书列表<button id="goAdd" style="margin-left: 30px;" class="btn btn-primary btn-sm"><i class="fa fa-disk-o"></i>新增</button>
</div>

其中js如下:

<script>document.getElementById('goAdd').addEventListener('click', function() {window.location.href = 'add.html'; // 将此处替换为你想要跳转的URL
});
</script>

下篇 数据抽象层 


大家如果喜欢技术,并想有个好的交流平台可以关注我的 我的知乎首页,会不定期分享本人觉得比较好的技术类电子书。
另外,自己创建的一个技术qq群,玩转技术群,该群里功能:分享技能,电子书,代码,以及兼职项目等交流,欢迎大家加入一起交流。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/42776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高颜值官网(3):家居用品网站12个,好的创意都在这里。

hello&#xff0c;大家好&#xff0c;我是大千UI工场&#xff0c;本文为大家带来家居用品网站UI&#xff0c;供大家欣赏。

项目代码优化(1)——下单逻辑

给一个电商开发的系统排查&#xff0c;发现漏洞很多。很多经验不够的开发者很容易忽视的逻辑错误陷阱。在给一个项目做二次开发时候&#xff0c;检测到的相关经典案例。这里整理支付和产品相关的逻辑&#xff0c;方便后续查看。&#xff0c;这里进行一些简单的逻辑漏洞梳理与修…

Ubuntu 22.04 LTS 上安装 MySQL8.0.23(在线安装)

目录 在线安装MySQL 步骤1&#xff1a;更新软件包列表 步骤2&#xff1a;安装MySQL服务器 步骤3&#xff1a;启动MySQL服务 步骤4&#xff1a;检查MySQL状态 步骤5&#xff1a;修改密码、权限 在线安装MySQL 步骤1&#xff1a;更新软件包列表 在进行任何软件安装之前&a…

p9函数(1)

int Add(int x,int y) { int z0; zxy; return z; } int main() { int a10; int b20; int sumAdd(a,b); printf("%d\n",sum); return 0; } 字符串求长度 int main() { char arr1[]"bit"; char arr2[20]"###…

移动UI: 什么特征会被认为是简洁风格,用案例告诉你

什么是简洁风格&#xff0c;恐怕一百个人有一百个是理解&#xff0c;本文通过理论分析案例的方式进行探讨。 移动 UI 中的简洁风格通常具有以下几个特征&#xff1a; 1. 平面化设计&#xff1a; 简洁风格的移动 UI 善于运用平面化设计&#xff0c;即去除过多的阴影、渐变和立…

水冷液冷负载系统的六种基本类型

您可以选择六种基本类型的冷却系统&#xff0c;以满足负载的冷却需求。每个人都有其优点和缺点。本文旨在识别不同类型的冷却系统并确定它们的优缺点&#xff0c;以便您可以根据自己的需求做出明智的选择。 液体冷却系统有六种基本类型&#xff1a; 1.液对液 2.闭环干燥系统…

聚类标签的艺术:SKlearn中的数据聚类标签分配策略

聚类标签的艺术&#xff1a;SKlearn中的数据聚类标签分配策略 在机器学习领域&#xff0c;聚类是一种无监督学习方法&#xff0c;旨在将数据集中的样本划分为若干个簇&#xff0c;使得同一簇内的样本相似度高&#xff0c;而不同簇之间的样本相似度低。聚类标签分配是聚类过程中…

深度讲解 UUID/GUID 的结构、原理以及生成机制

目录 一. 前言 二. 被广泛使用 三. UUID 的结构 3.1. 必须了解的 3.2. 十六进制数字字符&#xff08;hexDigit&#xff09; 3.3. UUID 基本结构 3.4. 类型&#xff08;变体&#xff09;和保留位 3.5. 版本&#xff08;子类型&#xff09; 3.6. 时间戳 3.7. 时钟序列 …

管理《欧盟数字服务法》交易者要求

《数字服务法》合规性 根据《数字服务法》(DSA) 的要求&#xff0c;对于在欧盟地区 (EU) 通过 App Store 分发 App 的所有交易商&#xff0c;Apple 需要验证并显示其联系信息。请指明你是否将以交易商或非交易商的身份在欧盟地区分发任何内容。进一步了解你是否应为交易商。 …

[激光原理与应用-101]:南京科耐激光-激光焊接-焊中检测-智能制程监测系统IPM介绍 - 5 - 3C行业应用 - 电子布局类型

目录 前言&#xff1a; 一、激光在3C行业的应用概述 1.1 概述 1.2 激光焊接在3C-电子行业应用 二、3C电子行业中激光焊接 2.1 纽扣电池 2.2 均温板 2.3 指纹识别器 2.4 摄像头模组 2.5 IC芯片切割 三、3C行业中激光切割 四、激光在3C行业中的其他应用 4.1 涂层去除…

Golang | Leetcode Golang题解之第222题完全二叉树的节点个数

题目&#xff1a; 题解&#xff1a; func countNodes(root *TreeNode) int {if root nil {return 0}level : 0for node : root; node.Left ! nil; node node.Left {level}return sort.Search(1<<(level1), func(k int) bool {if k < 1<<level {return false}…

包装工程期刊

《包装工程》&#xff08;Packaging Engineering&#xff09;创刊于1980年&#xff0c;原刊名为《防腐包装》&#xff0c;由聂荣臻元帅亲笔题写。主管单位为中国兵器装备集团有限公司&#xff0c;主办单位为西南技术工程研究所&#xff0c;出版单位为《包装工程》编辑部。目前期…

【CSS】缩写属性gap

在CSS Grid Layout&#xff08;网格布局&#xff09;和Flexbox&#xff08;弹性盒布局&#xff09;中&#xff0c;gap 是一个缩写属性&#xff0c;用于同时设置行间隙&#xff08;gutter&#xff09;和列间隙&#xff08;在Flexbox中通常称为“交叉轴间隙”&#xff09;的大小。…

Linux 网络抓包工具tcpdump编译

tcpdump 的编译步骤 1. 下载源代码 访问 tcpdump 的官方网站&#xff08;如&#xff1a;http://www.tcpdump.org/&#xff09;下载最新的源代码压缩包&#xff0c;如tcpdump-4.9.2.tar.gz&#xff08;注意版本号可能会有所不同&#xff09;。 2. 解压缩源代码 使用 tar 命令…

ubuntu22.04+pytorch2.3安装PyG图神经网络库

ubuntu下安装torch-geometric库&#xff0c;图神经网络 开发环境 ubuntu22.04 conda 24.5.0 python 3.9 pytorch 2.0.1 cuda 11.8 pyg的安装网上教程流传着许多安装方式&#xff0c;这些安装方式主要是&#xff1a;预先安装好pyg的依赖库&#xff0c;这些依赖库需要对应上pyth…

贝叶斯优化包的基础介绍

以下为该学习地址的学习笔记 学习地址&#xff1a;Basic tour of the Bayesian Optimization package — Bayesian Optimization documentation 贝叶斯优化简介 贝叶斯优化是一种基于贝叶斯推断和高斯过程的全局优化方法&#xff0c;它试图在尽可能少的迭代次数内找到一个未…

【Dison夏令营 Day 12】如何用 Python 构建数独游戏

通过本综合教程&#xff0c;学习如何使用 Pygame 在 Python 中创建自己的数独游戏。本指南涵盖安装、游戏逻辑、用户界面和计时器功能&#xff0c;是希望创建功能性和可扩展性数独益智游戏的爱好者的理想之选。 数独是一种经典的数字谜题&#xff0c;多年来一直吸引着谜题爱好…

实例方法与静态方法的区别与使用场景

实例方法与静态方法的区别与使用场景 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 实例方法与静态方法的区别 在面向对象编程中&#xff0c;方法可以分为实…

昇思MindSpore25天学习Day19:CycleGAN图像风格迁移互换

(TOC)[CycleGAN图像风格迁移呼唤] 模型介绍 模型简介 CycleGAN(Cycle Generative Adversaial Network)即循环对抗生成网络&#xff0c;来自论文Link:Unpaired lmage-to-mage Translation using Cycle-Consistent AdvesairalNetworks该模型实现了—种在没有配对示例的情况下学…

从nginx返回404来看http1.0和http1.1的区别

序言 什么样的人可以称之为有智慧的人呢&#xff1f;如果下一个定义&#xff0c;你会如何来定义&#xff1f; 所谓智慧&#xff0c;就是能区分自己能改变的部分&#xff0c;自己无法改变的部分&#xff0c;努力去做自己能改变的&#xff0c;而不要天天想着那些无法改变的东西&a…