PHP面向对象留言板(三)模拟客户端传来的JSON格式的数据写入数据库
来源:互联网 发布:sql改变表结构的语句 编辑:程序博客网 时间:2024/06/05 08:56
PHP面向对象留言板(三)模拟客户端传来的JSON格式的数据写入数据库
code:https://code.csdn.net/u012995856/oop_liuyanban/tree/master
效果图:
本打算是前端ajax提交json格式数据,调试了很长时间还没实现,就使用PHP模拟了前端提交的json数据.
json数据中id的key-value先用作存储对象的名字也就是对应的实体名即数据库表名.
计划model中提供通用的insert方法,解析json数据,自动由与数据库表字段对应的key写value,但是没实现
代码:
Model.php
<?php/** *模型类,介于实体类与数据库表之间的存在,是拥有数据的实体类集合 * */require 'DB.php';class Model{ private $obj; private $entity_name; private $db; private $container; //构造方法 //根据实例化Model时的传入参数 //自动加载实体类,并实例化 function __construct($entity){ $this->entity_name = $entity;//暂存实体类类名 $this->db = new DB; set_include_path('./');//设置自动加载目录 spl_autoload_register();//自动加载 $this->obj = new $entity;//实例化实体类 } //根据模型自动查询数据,将结果集对象化到容器,返回对象容器 public function get_all(){ $sql = 'select * from '.$this->entity_name; $result = $this->db->query($sql); $container = new SplObjectStorage();//实例化对象容器 while ($entity_obj = $result->fetch_object()) { $container->attach($entity_obj); } return $container; }//将一条数据写入数据库 public function _insert($obj_json_format){//解析json $temp = json_decode($obj_json_format);//构建sql $sql = 'insert into liuyanban values("'.$temp->lyb_id.'","'.$temp->lyb_title.'","'.$temp->lyb_content.'","'.$temp->lyb_author.'","'.$temp->lyb_time.'","'.$temp->lyb_authoremail.'",'.$temp->lyb_pass.')';//返回数据库执行结果 true or false return $this->db->query($sql); }}
add.php
<?phprequire 'Model.php';/** *控制器 *接收json格式数据, *调用Model */ //模拟客户端传来的JSON格式的数据// id 处理前作为传递model对象的类名//之后作为表id$arr = array( 'lyb_id' => 'liuyanban', 'lyb_author' => 'py', 'lyb_title' => '留言数据', 'lyb_content' => '留言内容', 'lyb_time' => time(), 'lyb_authoremail' => 'pangPython@qq.com', 'lyb_pass' => 1 );$lybjson = json_encode($arr);//上面接收来自客户端的数据$_obj = json_decode($lybjson);//解码json$class_name = $_obj->lyb_id;//暂存表名$_obj->lyb_id = md5(time());//使用md5+Unix时间戳作为每条记录的id$model = new Model($class_name);// var_dump($_obj->lyb_id);//if ($model->_insert(json_encode($_obj))) { echo '留言写入成功!';}else { echo '留言写入失败!';}//echo $model->_insert(json_encode($_obj));// print_r($_obj);
1 0
- PHP面向对象留言板(三)模拟客户端传来的JSON格式的数据写入数据库
- PHP面向对象留言板(一)查询出JSON格式的留言板数据
- 将客户端传来的东西写入file
- 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
- 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
- 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
- 使用PHP接受前端传来的json数据
- php将从数据库查询到的数据转化为json格式,并写入json文件中
- spring mvc 接收前台传来的json对象(转)
- 解析服务器传来的 XML 格式数据
- JSON—接收服务器端传来的数据
- jsp接受通过JSON传来的数据
- php将json格式的数据直接存入mysql数据库
- php将json格式的数据直接存入mysql数据库
- json 数据写入mysql 数据库的方法
- js格式化json传来的UTC格式的时间
- LoadRunner模拟客户端发送JSON格式的请求
- PHP向客户端响应JSON格式数据
- Android自定义ProgressBar的样式
- 半年总结(2016年上半年)
- 51nod 1384 全排列(next_permutation()函数)
- 一致性代码段和非一致性代码段
- 关于分治
- PHP面向对象留言板(三)模拟客户端传来的JSON格式的数据写入数据库
- java 异常
- 使用Gradle和Sonatype Nexus 搭建私有maven仓库
- c++构造函数详解
- AndroidStudio使用GreenDao的方法
- Keras中神经网络可视化模块keras.utils.visualize_util 的安装配置与错误解决办法
- 一致性代码段和非一致性代码段【转】
- Codeforces Round #135 (Div. 2)-D. Choosing Capital for Treeland
- 漫步线性代数十二——网络