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操作的更多相关文章

  1. 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~

    最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~ ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的My ...

  2. ThinkPHP中简单的CURD操作

    前言 我们通过一个简答例子来简述CURD的操作.首先看一下数据库的样子,其中id为自增行,其它是varchar 一.查询操作 首先,创建在Controller文件夹下创建一个User控制器,在该控制器 ...

  3. Asp.Net中对操作Sql Server 简单处理的SqlDB类

    好久不接触这些闲暇时间回顾一下以前的基础.因为平常使用的时候都是直接调用SqlDB.dll这个类.先看这个类的结构 纸上得来终觉浅,绝知此事要躬行.个人觉得里面的标准操作就是对数据库增删查改 .特别适 ...

  4. EF简单的CURD操作

    /// <summary> /// EF添加数据 /// </summary> /// <param name="sender"></pa ...

  5. solr的客户端操作:使用solrj进行curd操作

    导入相关的jar包 <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-s ...

  6. thinkphp 连接数据库 & 实例化模型操作 (下接thinkphp CURD 操作)/慕课

    7.1 连接数据库 (06:15) 1 7.2实例化模型 1 1.实例化基础模型 2 2. 实例化用户自定义模型 2 问题 2 3. 实例化公共模型 4 4. 实例化空模型 7    7.1 连接数据 ...

  7. Mybatis学习第一天——Mybatis的安装配置以及基本CURD操作

    1.Mybatis下载 Mybatis是开源的持久层框架,能够度jdbc进行简单的封装,但其并不是完全的ORM(Object Relational Mapping,对象关系映射),无法脱离数据库进行适 ...

  8. Node.js学习笔记(3) - 简单的curd

    这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简 ...

  9. mysql 操作sql语句 目录

    mysql 操作sql语句 操作数据库 mysql 操作sql语句 操作数据表 mysql 操作sql语句 操作数据表中的内容/记录

随机推荐

  1. 人生苦短之Python多线程

    #encoding=utf-8 import threading import time ''' python多线程并不是真正意义上的多线程,通常我们所说的多线程是多个线程同时执行某功能,而在pyth ...

  2. v-for指令用法二

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  3. 关于“C++语言程序设计”书的一个类

    class book{    char* title;    int num_pages;    int cur_page;public:    book(const char* theTitle, ...

  4. 如何理解Web应用程序的MVC模型?

    View,也就是视图/视野,是你真正看到的,而非想象中的 Model.Controller,也就是控制器,是你用来改变 Model 方式.简单的说 Controller 和 View 分别是 Mode ...

  5. bzoj 4289 PA2012 Tax——构图

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4289 可以把一个点上的边按权值排序,然后边权小的向第一个比它大的连差值的边,边权大的向第一个 ...

  6. 让应用程序支持emoji字符

    自iPhone从iOS 5在输入法中开始支持emoji以来,这些表情符号迅速风靡世界.但是很多Web网站竟然还不!支!持!!! 那怎么才能支持emoji呢?其实代码一行都不用改,因为emoji符号实际 ...

  7. rsync应用实例

      一. 通过ssh的方式 前面介绍的rsync 5种方式当中,第二.第三(1个冒号)就属于通过ssh的方式,这种方式其实就是让用户去登录到远程机器,然后执行rsync的任务. [root@local ...

  8. 蓝桥杯 2014本科C++ B组 奇怪的分式 暴力枚举

    蓝桥杯 枚举 奇怪的分式 标题:奇怪的分式 上小学的时候,小明经常自己发明新算法.一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1 ...

  9. 1--redis3.0.5集群部署安装详细步骤

    Redis集群部署文档(centos6系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) ...

  10. bzoj3676

    后缀自动机+manacher 听说本质不同的回文串只有O(n)个 那么用manacher求出所有回文串,然后在sam上查找出现了几次就行了 sam的性质又忘了... manacher也忘了... #i ...