【04_(终结版)通过App实现对数据库的增删改】幽沉谢世事,俯默窥唐虞。这篇文章主要讲述04_(终结版)通过App实现对数据库的增删改相关的知识,希望能为你提供帮助。
设计思路:
用户注册登录:用户注册或登录(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;
}
?>
推荐阅读
- 安卓面经
- Apple ID双重认证,验证码无法输入问题
- Xamarin.Android 制作搜索框
- autoMapperdotnetcore webapi 自动添加映射abp
- UNITY2018.3 在editor下运行时new memoryprofiler显示 shader占用内存很大的问题在安卓上并没有看到
- appium-循环执行一条用例,失败时停止执行
- Android 用虹软SDK做人脸识别
- Win10系统桌面假死怎样处理?
- Win10更新激活页面闪退 无法激活怎样办?