[安卓] JSON仲机器人 – 部分 2: 出口从数据库PHP支持JSON
大家好, 在第 2 仅此一点将引导你创建数据库, 写入命令从数据库中查询数据并生成JSON.
相关的一些MySQL和PHP知识的文章,你应该注意, 如果你从来没有听说过它,它的好, 很简单的遣散.
我会引导你在建立数据库 Hostinger 为方便和同步.
创建数据库
你去到数据库 - > MySQL数据库创建数据库:
输入一个名称DATABSE, 用户名和密码结束.
创建后,, 单击刚刚创建的数据库,并选择界面的phpMyAdmin到phpMyAdmin.
现在我们开始创建数据库表. 我们的应用程序是旧情人 (昔日的恋人), 这将需要创建 2 £: 用户表存储的用户列表, ,还列出old_lover保存用户的前男友.
表用户包括 2 学校是:
nick -> kiểu: varchar(50) định dạng: utf8_unicode_ci là khóa chính pass -> kiểu: varchar(50) định dạng: utf8_unicode_ci
表old_lover包括 6 学校:
id -> kiểu:int(11) AUTO_INCREMENT là khóa chính nick -> kiểu: varchar(50) định dạng: utf8_unicode_ci name -> kiểu: varchar(50) định dạng: utf8_unicode_ci begin_date -> kiểu: varchar(10) end_date -> kiểu: varchar(10) phone -> kiểu: varchar(15)
在天BEGIN_DATE日期和结束日期在爱与离别的一天=)). 我们并不需要比较什么,但只是为了显示你应该使用VARCHAR而不是日期或日期时间NHE.
在创建数据库之后, 你去插入,并插入一些记录表. 他这样的例子:
表用户:
BANG old_lover:
使用PHP数据库连接和JSON输出
在本节中,我们开始触及编程语言PHP的, 它类似于Java, 唯一略有不同的指挥结构轻微.
你和文件 - >管理文件
文件管理界面显示会看起来像你的电脑上, 你总是可以在这里写一个PHP文件或创建一个新的文件夹来保存得很好, 我将创建一个目录 移动 这里, 建立更多文件夹 旧情人仲移动
我们将分步走: 配置 - >连接 - >写查询命令 - >导出JSON
写配置文件
注意: 从这时开始,你把数据库和主机上的博客, 您使用的数据库Hostinger, 用户,… 将形成u520716618_lover,… 如上面我们已经设置
我们将编写 1 文件配置数据库名称, 用户, 通过对连接服务. 在旧情人的文件夹创建 1 文件命名 config.php文件 用下面的内容:
<?php define("DB_HOST", "localhost"); define("DB_USER", "mobile-demo-json"); define("DB_PASSWORD", "mobile-demo-json"); define("DB_DATABASE", "mobile-demo-json"); ?>
在这里面,你需要修改,以适应数据库的用户名, 数据库名称, 密码,你已经把步骤创建一个数据库. 在这里,当前主机不到哪里PHP文件都放在 本地主机, 您的用户名和密码 移动演示JSON
写文件的数据库连接
接下来,我们创建 1 文件命名 db_connect.php 执行与内容数据库连接:
<?php class DB_Connect { // constructor function __construct() { } // destructor function __destruct() { // $this->close(); } // Connecting to database public function connect() { require_once 'config.php'; $con = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); mysql_set_charset('utf8', $con); mysql_select_db(DB_DATABASE); return $con; } public function close() { mysql_close(); } } ?>
包含数据库操作函数写文件
本文件包含的所有功能来操作数据库的选择, 插入, 更新,…
你创建的文件 db_functions.php 内容:
<?php class DB_Functions { private $db; // constructor function __construct() { include_once './db_connect.php'; $this->db = new DB_Connect(); $this->db->connect(); } public function selectall($sql){ $result=mysql_query($sql); while($row=@mysql_fetch_assoc($result)){ $result_all[]=$row; } mysql_free_result($result); return @$result_all; } public function selectone($sql){ $result=mysql_query($sql); $resultone=@mysql_fetch_assoc($result); mysql_free_result($result); return $resultone; } function numrow($sql){ $result=mysql_query($sql); $row=mysql_num_rows($result); mysql_free_result($result); return $row; } function update($table,$data,$where){ $sql=''; foreach($data as $key => $value){ $sql .=", $key = '".mysql_real_escape_string($value)."'"; } $sql='UPDATE '.$table. ' SET '.trim($sql, ',').' WHERE ' .$where; return mysql_query($sql); } function insert($table, $data){ $field_list=''; $value_list=''; foreach($data as $key => $value){ $field_list .=",$key"; $value_list .=",'".mysql_real_escape_string($value)."'"; } $sql='INSERT INTO '.$table.'('.trim($field_list, ',').') VALUES ('.trim($value_list, ',').')'; return mysql_query($sql); } function delete($table,$where){ $sql="DELETE FROM $table WHERE $where"; return mysql_query($sql); } } ?>
这些功能使得自己没有太多的解释, 我看到了一些显着的东西如下:
- 颚 __construct() 构造函数, 它是连接到数据库,所以我们应该包括 (包括) 文件 db_connect.php 在这.
-
该声明采取了他的记录使用 mysql_fetch_assoc 因为它使我们能够检索表的列名的记录, 如果你使用 mysql_fetch_array 这将需要两个列名,并在表中的列数,然后我们的JSON输出不必要的盈余, 因为它变得沉重.
-
我已经使用 mysql_real_escape_string 以匹配其关键伴随更新函数的值, 插入. 这使我们能够保留值和避免语法错误SQL查询甚至在它具有一定的特殊字符.
写作JSON输出
这是我们的最终文件, 文件将直接互动与Android.
我们将有 4 操作如下:
– 注册
– 注册
– 找前男友名单
– 添加到列表中的前情人
因此,我们将有 4 打开浏览这些措施收到来自机器人的请求时,.
<?php header('Content-Type: application/json; charset=utf-8'); ?> <?php $METHOD_LOGIN = 1; $METHOD_REGISTER = 2; $METHOD_GET_OLD_LOVER = 3; $METHOD_ADD_OLD_LOVER = 4; include_once 'db_functions.php'; $db = new DB_Functions(); $nick = $_POST['nick']; $method = $_POST['method']; // for test from web browser $test = $_GET['test']; if($test==true){ $nick = $_GET['nick']; $method = $METHOD_GET_OLD_LOVER; } if($method == $METHOD_LOGIN) { $sql = "SELECT * FROM user WHERE nick = '$nick'"; $rs = $db->selectone($sql); if($rs['pass'] == $_POST['pass']){ $result['login'] = true; }else{ $result['login'] = false; } } if($method == $METHOD_REGISTER) { $data = array(); $data['nick'] = $nick; $data['pass'] = $_POST['pass']; $rs = $db->insert('user', $data); if($rs){ $result['register'] = true; }else{ $result['register'] = false; } } if($method == $METHOD_GET_OLD_LOVER) { $sql = "SELECT * FROM old_lover WHERE nick = '$nick'"; $result = $db->selectall($sql); } if($method == $METHOD_ADD_OLD_LOVER){ $data = array(); $data['nick'] = $nick; $data['name'] = $_POST['name']; $data['phone'] = $_POST['phone']; $data['begin_date'] = $_POST['begin_date']; $data['end_date'] = $_POST['end_date']; $rs = $db->insert('old_lover', $data); if($rs){ $result['add'] = true; }else{ $result['add'] = false; } } $json = json_encode($result, JSON_PRETTY_PRINT); // $json = json_encode($result); // use on hostinger print_r($json); ?>
该文件中的代码也是完全可以理解的, 我注意到,我已经使用了变量$测试采取的是二次GET事务, 即获得的测试数据浏览器的道路上. 您可以通过访问以下链接来测试他的前恋人列表测试:
HTTPS://www.cachhoc.net/mobile/demo-json/lover.php?测试=真&尼克=相关
这就是它,然后. 在接下来的文章中,我们开始转向了Android操作.
在本教程的帖子 JSON仲机器人 由 nguyenvanquan7826
物业最后php文件用于导出名为JSON那么你是什么亲爱的文件.
你得问是否在其中所使用的服务器返回的数据,形成一个RESTful Web服务的方式都没有 ?
文件lover.php文件离线.
我不知道这样的名字就是你啊. :))
我再次尝试部分的mysql_connect错误()… 它不是正确的,这样它运行坑. 那么她Hostinger免费运行.
DB_USER着DB_DATABASE,需要更多 “u425550055_ “在没有你
例:
是的,你. 我上面提到的那.
我只能帮你结构链接 https://www.cachhoc.net/mobile/demo-json/lover.php?test=true&nick=quan 高先生?
您点击链接查看的结构, 构建它的输出才看.
我不是那种标准结构.json. 它是结构链接. 我愿意支付的狗CLIEN接入链路.
链接然后,由你,, 链接CUA文件, 完成对您设置的变量. 你注意到在最后 “.PHP?键2 =值1&键2 =值” 那么你想通过键和值是变量
https://www.cachhoc.net/ (hostting)
移动/ (夹)
演示JSON / (这是什么,先生)
lover.php?测试=真&尼克=相关 ( 在这里再次,先生)
đó cũng là folder mà 🙂
服务员. cho em tài liệu hàm delete được ko ạ? và cho em hỏi 1 chút em muốn select user by id thì sử lý điều kiện như hàm delete ổn ko ạ?
Hàm delete bên trên mình có nói rồi đó. Bạn cứ để điều kiện vào thôi. Ví dụ như hàm bên trên mình viết thì bạn làm thế này:
删除(‘tb_user’,’id = ‘ . $ID){
A cho e hỏi: E muốn làm thêm 1 chức năng lấy thông tin của 1 người thôi ạ.Tức là client truyền 1 ID lên,server nhận ID đó rồi trả về thông tin của 1 người đó thôi.Thì phải viết thêm hàm và một biến nhận ID như thế nào nữa ạ.E cảm ơn và mong a đừng xóa bài em ạ 🙂
Bạn làm tương tự cái lấy toàn bộ nhưng chỉ lấy 1 người thôi. Trong file database.php mình có viết 1 hàm selectone đó bạn. Bạn cho lệnh select theo id vào hàm đó là được.
A cho em hỏi : 属性数据库用户创建网站设置为明星的恋人配置文件,为移动演示PHP-JSON先生? Ëk该设计的地方,所以我显然还不能运行DC.
的, 他们使用的数据库和主机从您的博客,使. 您在数据库中创建hostinger, 如上创建用户将u2345_lover格式.
Ë问. 使用变量$方法POST方法. 即,当发送请求到客户端. 链接只是这只: https://www.cachhoc.net/mobile/demo-json/lover.php . 右键K A? 但所有以前未读想好奇前更好地了解 2 此法先生 ?
孔E-误, “下一个未读帖子”
是的,你.
一个可以写入服务器功能注销向来不是你? .我登录,登记,但不知道如何退出?
这很容易,你注销, 您将返回背部接口日志和数据删除 (用户 & 通过) Android是在ShrePreferce
我认为,必须与服务器同步,但诶. 如果你这样做,你需要删除数据时,用户k duoc.Vi也登录E要被 1 活动. 登录成功,将进军Activty khac.Nen如果事实证明它仍然迟迟活动日志的登录界面 :在
UKM, 就这样.
“我注意到,我已经使用了变量$测试采取的是二次GET事务, 即获得的测试数据浏览器的道路上” 你的问题NGU的市场
// 从Web浏览器测试
$测试= $ _GET['测试'];
如果($测试==真){
$尼克= $ _GET['缺口'];
$方法= $ METHOD_GET_OLD_LOVER;
}
变“测试’ BY WAY TO HOST或正在服用许多感谢这么love.php FILE.
问问自己,如何在PHP中创建GSON JSON格式
它不是一个真正明白你的意思? 如果要导出,你只需要使用PHP的JSON然后回声出.
小姐是你的要求写入到输出文件JS最终也3file的同一个文件夹连接到分贝以上先生.
是的,你
问问自己以下几个问题.
如果它在数据库中的Word域当你的HTML代码,JSON输出和查看源代码视图,它的HTML标记的格式,但它并不总是. 他们是没有办法解决不 ?
对于旅客: 在他与图片文章, JSON输出时它没有显示的代码线的形成,而不是
JSON是这样, 只有文字,没有别的,并享受您的逗留.