使用PHP操作SQL 完成简单的CURD操作
1、从数据库出发,先建立测试数据,这里使用的MYSQL,通过脚本模式创建测试数据。
SET NAMES UTF8;
DROP DATABASE IF EXISTS disk;
CREATE DATABASE disk CHARSET=UTF8;
USE disk;
CREATE TABLE udisk(
uid INT PRIMARY KEY AUTO_INCREMENT,
uname VARCHAR(24),
pic VARCHAR(60),
price FLOAT(9,2),
addedTime BIGINT
);
INSERT INTO udisk VALUES
(NULL,'金士顿 SE9H','img/1.jpg','49.90','1234567890123'),
(NULL,'金士顿 DT100G3','img/2.jpg','47.90','1234567890123'),
(NULL,'权尚 Transshow','img/3.jpg','39.90','1234567890123'),
(NULL,'闪迪(SanDisk)酷铄(CZ73) ','img/4.jpg','79.90','1234567890123'),
(NULL,'金士顿 32GB','img/5.jpg','99.90','1234567890123');
2、创建 init.php 主要用于保存php连接数据库的相关代码。
<?php
/*数据库链接初始化页面*/
$conn = mysqli_connect('127.0.0.1','root','','tarena',3306);
$sql = 'SET NAMES UTF8';
mysqli_query($conn,$sql);
3、建立 add.php 实现php操作数据库添加数据功能。
<?php
@$uname = $_REQUEST['uname'] or die('uname required');
@$pic = $_REQUEST['pic'] or die('pic required');
@$price = $_REQUEST['price'] or die('price required'); require('disk_inti.php');
$addTime = time()*1000;
$sql = "INSERT INTO udisk VALUES(NULL,'$uname','$pic','$price','$addTime')";
$result = mysqli_query($conn,$sql);
if($result===false){
echo "添加失败,请检查SQL语句";
}else{
echo "添加成功,商品编号为".mysqli_insert_id($conn);
echo "<a href='udisk_select.php'>查看所以U盘</a>";
}
4、创建用于实现添加功能的视图(add.html文件) 一个简单的数据添加入口 测试用。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>...</title>
</head>
<body>
<form action="disk_add.php">
U盘名称:<input name="uname"><br>
图片路径:<input name="pic"><br>
U盘价格:<input name="price">
<input type="submit">
</form>
</body>
</html>
5、使用PHP创建数据查找功能主界面 并使用JS绑定删除功能
<?php // 执行SQL查找语句
require('disk_inti.php');
$sql = "SELECT * FROM udisk";
$result = mysqli_query($conn,$sql);
if($result===false){ // 判断查找结果
echo "数据查询失败,请检查SQL语句";
}else{
$list = mysqli_fetch_all($result,1);
}
//var_dump($list);
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>...</title>
<style>
div {
width:250px;
float:left;
margin-right:80px;
margin-top:25px;
padding:0 25px;
position:relative;
border:1px solid #aaa;
border-radius:3px;
}
div img {
width:100%
}
div a {
position:absolute;
top:0;
right:10px;
}
</style>
</head>
<body>
<h3>U盘列表</h3>
<?php //抓取数据 响应到视图中
foreach($list as $d){
echo "<div><img src=$d[pic]><span>价格:$d[price]</span><p>$d[uname]</p><a href=$d[uid]>X</a></div>";
}
?>
</body>
<script> //为X按钮绑定事件
var a = document.querySelectorAll("div a");
console.log(a);
for(var i = 0 ; i<a.length ; i++){
a[i].addEventListener("click",function(e){
e.preventDefault();
if(confirm("确定要删除此商品?"))
{ location.href="udisk_delete.php?uid="+this.href.slice(-1);}
});
}
</script>
</html>
6、创建delete.php 补全删除功能
<?php
@$uid = $_REQUEST['uid'] or die('uid required');
require('disk_inti.php');
$sql ="DELETE FROM udisk WHERE uid=$uid";
$result = mysqli_query($conn,$sql);
if($result===false){
echo "删除失败";
}else{
echo "<h3>删除成功</h3>";
echo "被删除的记录数:".mysqli_affected_rows($conn);
echo "<a href='udisk_select.php'>返回U盘列表</a>";
}
使用PHP操作SQL 完成简单的CURD操作的更多相关文章
- 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~
最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~ ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的My ...
- ThinkPHP中简单的CURD操作
前言 我们通过一个简答例子来简述CURD的操作.首先看一下数据库的样子,其中id为自增行,其它是varchar 一.查询操作 首先,创建在Controller文件夹下创建一个User控制器,在该控制器 ...
- Asp.Net中对操作Sql Server 简单处理的SqlDB类
好久不接触这些闲暇时间回顾一下以前的基础.因为平常使用的时候都是直接调用SqlDB.dll这个类.先看这个类的结构 纸上得来终觉浅,绝知此事要躬行.个人觉得里面的标准操作就是对数据库增删查改 .特别适 ...
- EF简单的CURD操作
/// <summary> /// EF添加数据 /// </summary> /// <param name="sender"></pa ...
- solr的客户端操作:使用solrj进行curd操作
导入相关的jar包 <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-s ...
- thinkphp 连接数据库 & 实例化模型操作 (下接thinkphp CURD 操作)/慕课
7.1 连接数据库 (06:15) 1 7.2实例化模型 1 1.实例化基础模型 2 2. 实例化用户自定义模型 2 问题 2 3. 实例化公共模型 4 4. 实例化空模型 7 7.1 连接数据 ...
- Mybatis学习第一天——Mybatis的安装配置以及基本CURD操作
1.Mybatis下载 Mybatis是开源的持久层框架,能够度jdbc进行简单的封装,但其并不是完全的ORM(Object Relational Mapping,对象关系映射),无法脱离数据库进行适 ...
- Node.js学习笔记(3) - 简单的curd
这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简 ...
- mysql 操作sql语句 目录
mysql 操作sql语句 操作数据库 mysql 操作sql语句 操作数据表 mysql 操作sql语句 操作数据表中的内容/记录
随机推荐
- leetcode 790. Domino and Tromino Tiling
We have two types of tiles: a 2x1 domino shape, and an "L" tromino shape. These shapes may ...
- linux下环境搭建
1.jdk https://ivan-site.com/2012/05/download-oracle-java-jre-jdk-using-a-script/ 在linux用wget直接下载JDK ...
- BestCoder8 1002 Revenge of Nim(hdu 4994) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4994 题目意思:有 n 个 heap(假设从左至右编号为1-n),每个 heap 上有一些 objec ...
- cowboy跨域请求处理
这几日在使用cowboy开发https服务器的过程中碰到几个问题,这里随手记录一下. 1)如果返回错误ERR_EMPTY_RESPONSE,那么可能是web服务器被关闭了. 2)如果返回错误ERR_C ...
- kallsyms
kallsyms 在v2.6.0的内核中,为了更好地调试内核,引入新的功能kallsyms.kallsyms把内核用到的所有函数地址和名称连接进内核文件,当内核启动后,同时加载到内存中.
- SP8093 JZPGYZ - Sevenk Love Oimaster
传送门 广义后缀自动机-- 其实也不是很难理解,就是每次SAM插入一个串之后,插入新的串的时候,要把last重新调到1的位置,共用一些节点. 这个题我们首先要预处理出来每个状态被多少个串共用.挺暴力的 ...
- 使用PowerDesigner设计数据库
1.快捷键CTRL+N 创建 New Model 选择如下图,并设置 Model name 单击OK 2.使用工具添加实体 双击Entity_1,填上如下图信息 切换选项卡,添加属性信息 其中 M ...
- Ubuntu install font
最近在 Ubuntu 上使用 VLC 看视频,发现字幕有问题,中文有些是白色的框框,主要是字幕的字体不完全支持中文,但是选择字体时又没有可以使用的字体,为此整理一下 Ubuntu 如何安装字体,现在整 ...
- <正则吃饺子> :关于Guava中 Joiner 和 Splitter 的简单使用
在现在项目中经常看到 这两个类的使用,开始时候不明白具体是做的什么事情,就单独拿出来学习下了,参照了网上的博文,这里主要是简单的讲讲用法. 具体对这两个类,不做过多介绍,有个在线文档,需要的可以自己去 ...
- HDOJ-2048
神.上帝以及老天爷 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...