设计思路:
用户注册登录:用户注册或登录(login数据表),成功后进入增删改查(words数据表)
注意:只有登录验证成功后才可以增删改查,否则提示未登录!

增:用户在App上add(单词、词义、音标)到数据库里,数据库返回插入结果
删:用户选定单词,发送delete指令,数据库执行指令,返回删除结果
改:用户在App上update单词数据,并返回更新后的结果
查:用户在App随意select数据库里面的数据

step_01 数据库创建数据表grd_one
id        int       auto-increment primary key
words     varchar()  
prons     varchar()
meanings  varchar()

step_02 编写App界面:(为了方便查看效果,将所有组件写在一个界面)

解释:

登录按钮:如果不登录将不能执行更删改查操作;
          必须注册才能登录;
          未登录标签将显示“未登录”。

注册按钮:注册需要用户名和密码;
          用户数据存储在新浪云MySQL数据库;
          用户密码md5加密存储;
          如果用户名被注册,注册失败(提示用户名已存在);
          注册成功需要输入用户名、设置的密码登录方可操作;
          登录成功界面将显示“已登录”,并返回数据库分配的用户ID。

增(按钮):增加数据时,如果数据库已存在该数据,提示数据已存在,不执行增加操作;
           增加成功后,会提示增加数据成功。

删(按钮):删除数据时,不判断数据库是否存在该数据,直接执行删除指令,并提示用户数据已删除。

改(按钮):修改数据时,如果数据库不存在该数据,提示数据不存在,不执行修改操作;
           修改成功后,会提示用户修改数据成功。

查(按钮):查询数据时,如果数据库不存在该数据,提示数据不存在,不执行查询操作;
           数据存在,查询到数据后,将单条数据转化为数组以Json格式输出,本地解析Json数据显示数据。

step_03 注册用户 用户名:aa 密码:11
01 未登录,点击增删改查时,提示未登录:

02 注册时如果用户已存在,提示用户已存在:

03 注册成功提示:

04 登录时密码错误提示:

05 登录成功提示:

   数据库验证:

step_04 增 删 改 查
01 增加数据 (add):

   继续增加重复数据,则失败:

   数据库查看插入的数据:

*************************
后续删除、改变、查询数据时时若数据不存在也会一一提示,再次不在列举,只显示成功操作。
*************************

02 修改数据 (update):

   数据库查看修改后的数据:

03:查询数据

04_删除数据


干完收工,回家吃饭!

附:Php脚本

<?php
$host = SAE_MYSQL_HOST_M;
$port = SAE_MYSQL_PORT;
$dbname = SAE_MYSQL_DB;
$user = SAE_MYSQL_USER;
$pass = SAE_MYSQL_PASS;

$conn = mysqli_connect($host, $user, $pass, $dbname, $port);
if (!$conn) {
    die('Connect Error (' . mysqli_connect_errno() . ') '  //l检测数据库连接状态
            . mysqli_connect_error());
}

$tip=$_POST['tag'];       //获取客户端post标签
$word=$_POST['wd'];

switch ($tip)     //判断客户端时增删改查哪一种操作
    
{   
    case "add":    //如果是增操作
        $sql = "SELECT * FROM `grd_one` where words='{$word}'";
        $result=mysqli_query($conn,$sql);
        $num = mysqli_num_rows($result);
        if (!$num){
            $pron=$_POST['pr'];
            $mean=$_POST['mn'];
            $sql="INSERT INTO `grd_one` (`id` ,`words`,`prons`,`meanings`) VALUES (NULL , '{$word}','{$pron}','{$mean}')";
            mysqli_query($conn,$sql);
            echo 'Add Success!';
        }
        
        else {
             echo 'The Word ALREADY exists';
   
        }
        break;
     
    case "delete":   //如果是删操作
        $sql = "DELETE FROM `grd_one` where words='{$word}'";
        mysqli_query($conn,$sql);
        echo 'The Word has been deleted';
        break;
        
    case "update":  //如果是改操作
        $sql = "SELECT * FROM `grd_one` where words='{$word}'";
        $result=mysqli_query($conn,$sql);
        $num = mysqli_num_rows($result);
        if (!$num){
            echo 'The Word NOT exists';
            
        }
            
        else {
            $pron=$_POST['pr'];
            $mean=$_POST['mn'];
            $sql="UPDATE `grd_one` SET prons='{$pron}',meanings = '{$mean}' WHERE words='{$word}'";
            mysqli_query($conn,$sql);
            echo "Update Successfully!";
            
        }
        break;
        
        
    case "select":  //如果是查操作
        $sql = "SELECT * FROM `grd_one` where words='{$word}'";
        $result=mysqli_query($conn,$sql);
        $num = mysqli_num_rows($result);
        if (!$num){
            echo 1;
         
        }
        
        else {
            
            $jarr = array();
            while ($rows=mysqli_fetch_array($result)){
                $count=count($rows);
                for($i=0;$i<$count;$i++){
                     unset($rows[$i]);  //释放
                     }
                array_push($jarr,$rows);
                 }
            
            echo $str=json_encode($jarr);  //Json格式输出
        }
        break;  
}

?>

04_(终结版)通过App实现对数据库的增删改的更多相关文章

  1. ThinkPHP实现对数据库的增删改查

    好久都没有更新博客了,之前老师布置的任务总算是现在可以说告一段落了,今天趁老师还没提出其他要求来更新一篇博客. 今天我想记录的是我之前做项目,自己所理解的ThinkPHP对数据库的增删改查. 首先要说 ...

  2. 封装对MongoDB数据库的增删改查访问方法(基于MongoDB官方发布的C#驱动)

    本文利用MongoDB官方发布的C#驱动,封装了对MongoDB数据库的增删改查访问方法.先用官方提供的mongo-csharp-driver ,当前版本为1.7.0.4714 编写数据库访问帮助类 ...

  3. 9.5Django操作数据库的增删改查

    2018-9-5 18:10:52 先贴上笔记 day61 2018-04-28 1. 内容回顾 1. HTTP协议消息的格式: 1. 请求(request) 请求方法 路径 HTTP/1.1\r\n ...

  4. TP5.1:数据库的增删改查操作(基于面向对象操作)

    我们现实中对数据库的增删改查操作,都是使用模型类进行操作的(表名::),也就是面向对象操作,只有底层的代码用的是数据库操作(Db::table('表名')) 下面我将贴出模型类进行的增删改查操作,通过 ...

  5. 通过jdbc连接MySql数据库的增删改查操作

    一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...

  6. python链接oracle数据库以及数据库的增删改查实例

    初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...

  7. Android学习---数据库的增删改查(sqlite CRUD)

    上一篇文章介绍了sqlite数据库的创建,以及数据的访问,本文将主要介绍数据库的增删改查. 下面直接看代码: MyDBHelper.java(创建数据库,添加一列phone) package com. ...

  8. Android 系统API实现数据库的增删改查和SQLite3工具的使用

    在<Android SQL语句实现数据库的增删改查>中介绍了使用sql语句来实现数据库的增删改查操作,本文介绍Android 系统API实现数据库的增删改查和SQLite3工具的使用. 系 ...

  9. Android SQL语句实现数据库的增删改查

    本文介绍android中的数据库的增删改查 复习sql语法: * 增 insert into info (name,phone) values ('wuyudong','111') * 删 delet ...

随机推荐

  1. python 能做什么(常用库)

    1. 编写脚本,如测试脚本.初始化脚本.运维脚本:pywin32.nose2. 图形界面开发: Tkinter.PyQt . wxPython . PySide .Pillow3. 爬虫: Scrap ...

  2. day32——进程、操作系统

    day32 进程的基础 程序 一堆静态的代码文件 进程 一个正在运行的程序进程.抽象的概念 被谁运行? 由操作系统操控调用交于CPU运行 ​ 操作系统 管理控制协调计算机中硬件与软件的关系 操作系统的 ...

  3. Django-model更上层楼

    一 QuerySet对象 1.1可切片 使用Python 的切片语法来限制查询集记录的数目 .它等同于SQL 的LIMIT 和OFFSET子句. Entry.objects.all()[:5] # ( ...

  4. Relative Sort Array

    Relative Sort Array Given two arrays arr1 and arr2, the elements of arr2 are distinct, and all eleme ...

  5. lombok工具插件安装(idea、eclipse)

    https://blog.csdn.net/Y_hahaha/article/details/89186284   缘由,项目在IDEA下@Data.@Builder注解不起作用.发现是lombok这 ...

  6. js 页面技巧

    需要获取页面上固定的某个按钮的属性值.我们需要在页面加载完的第一刻将值存储到定义的变量,防止用户更改页面样式读不出当前元素.如果页面刷新会重置当前属性 <body> <input v ...

  7. MyBatis 中#和$符号的区别

    #相当于对数据 加上 双引号,$相当于直接显示数据 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sq ...

  8. 《Linux》跟老男孩学Linux核心系统命令

    一.命令行简介 1.1 Linux 命令行提示符介绍 [root@root_pc ~]# #<==这是超级管理员root用户对应的命令行 [oldboy@oldboy_pc ~]$ #<= ...

  9. Java电商项目,秒杀,抢购等高并发场景的具体场景和一些概念以及处理思路

    这里我借鉴了网上其他大佬的观点: 一:高并发带来的挑战 原因:秒杀抢购会经常会带来每秒几万的高并发场景,为了更快的返回结果给用户. 吞吐量指标QPS(每秒处理请求数),假设一个业务请求响应耗时为100 ...

  10. 3.建造模式(Builder)

    注:图片来源于 https://www.cnblogs.com/-saligia-/p/10216752.html 建造模式UML图解析: 代码: Director.h // // Created b ...