使用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语句 操作数据表中的内容/记录
随机推荐
- c++中class与struct的区别
0. 结构是一种用关键字struct声明的自定义数据类型.与类相似,也可以包含构造函数,常数,字段,方法,属性,索引器,运算符和嵌套类型. 1.结构在堆栈中创建,是值类型,而类是引用类型.每当需要一种 ...
- Docker容器的网络连接:
yw1989@ubuntu:~$ ifconfig docker0 Link encap:Ethernet HWaddr 02:42:97:61:42:9f inet addr:172.17.0.1 ...
- 深入Vue.js从源码开始(二)
从入口开始 我们之前提到过 Vue.js 构建过程,在 web 应用下,我们来分析 Runtime + Compiler 构建出来的 Vue.js,它的入口是 src/platforms/web/en ...
- tflearn 中文汉字识别,训练后模型存为pb给TensorFlow使用——模型层次太深,或者太复杂训练时候都不会收敛
tflearn 中文汉字识别,训练后模型存为pb给TensorFlow使用. 数据目录在data,data下放了汉字识别图片: data$ ls0 1 10 11 12 13 14 15 ...
- apache web 服务器
0. 特性与特点 性能方面,apache 在设计时采用了以"进程"为基础的结构,自然进程比线程消耗了更多的系统开销,导致了 apache 在多处理器环境中性能有所下降: 因此,在对 ...
- cogs1070玻璃球游戏
1070. [焦作一中2012] 玻璃球游戏 ★ 输入文件:marbles.in 输出文件:marbles.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 小x ...
- SQL Server中误删除数据的恢复
SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份. 2. 数据库的恢复模式(Recovery m ...
- Redis配置主从架构,实现读写分离
Redis的主从架构,能帮助我们实现读多,写少的情况,下面配置Redis架构,很简单. 准备环境 vmware + rhel-server-7.0(101,102,103)+redis-3.2.0 1 ...
- CF-831C
C. Jury Marks time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- Asset Catalog Help (十)---Specifying a Resizable Area of an Image
Specifying a Resizable Area of an Image Use the Xcode Slicing feature to specify the dimensions of a ...