[英]SQL database to Json array
您好,我最近使用此教程创建了一个数据库: https : //www.digitalocean.com/community/tutorials/a-basic-mysql-tutorial
我需要将sql数据库转换为json数组(如下图所示),我正在使用手机间隙制作我的第一个移动应用程序,这个问题不是关于手机间隙的,但是我怀疑提供一些上下文不会受到伤害。
我希望该应用程序(只能使用html,css和js)向sql数据库发出请求,对我而言,最好的方法是在电话向json发送请求后,将整个数据库转换为json数组。当天,新的json数据库将在手机上缓存。
(即使这样的缓存是不可能的或不切实际的,对于这个问题也没有关系)
我通过以下方法向数据库添加了三个“列表”:
INSERT INTO anime
(id
,category
,genre
,title
,description
,image_link
,date_added
) VALUES
(NULL
,"Mainstream"
,"Action"
,"the title"
,"the name"
,"200 word description"
,"imagename.png"
,'2012-04-14'
);
我不确定该方法是否按照我想要的方式创建了数据库,因为我尝试对完整信息进行多次请求,并且只有一种方法可以说我的PHP技能是垃圾。
我一直希望生成类似的东西(任何更好的格式化方式,以及如何轻松地从中获取和使用信息),我一直在研究json_encode();
并已阅读: 如何从mysql数据库和其他堆栈构建JSON数组 。
categories: [
{
"category-name" : "Mainstream",
"category-description" : "Everyones watching them for a reason",
"category-link" : "#mainstream",
"Mainstream" : [
{
"genres" : [
{
"genre-name" : "Action",
"genre-description" : "Mainstream: Fight them off",
"list" : [
{
"img" : "www.ActionimglinkMainstream1.com",
"name" : "ActionMainstreamname1",
"description" : "this Action is Mainstream name 1"
},
{
"img" : "www.ActionimglinkMainstream2.com",
"name" : "ActionNewname2",
"description" : "this Action is Mainstream name 2"
},
{
"img" : "www.FantasyimglinkMainstream3.com",
"name" : "FantasyMainstreamname3",
"description" : "this Action is Mainstream name 3"
}
]
},
{
"genre-name" : "Fantasy",
"genre-description" : "Mainstream: I put a spell on you",
"list" : [
{
"img" : "www.FantasyimglinkMainstream1.com",
"name" : "FantasyMainstreamname1",
"description" : "this Fantasy is Mainstream name 1"
},
{
"img" : "www.ActionimglinkMainstream2.com",
"name" : "FantasyNewname2",
"description" : "this Fantasy is Mainstream name 2"
},
{
"img" : "www.FantasyimglinkMainstream3.com",
"name" : "FantasyMainstreamname3",
"description" : "this Fantasy is Mainstream name 3"
}
]
}
]
}
]
}]
感谢您的时间,信息和见解! 请理解我是PHP,mysql和JavaScript的新手,但不是google / stackoverflow我已经在google上搜索和搜索并尝试自己做过,但是它不起作用。
为了清楚起见,我想知道如何将mySQL数据库转换为json数组,以便可以从html + js移动应用程序发出请求。
要确认如何设置数据库:
我建议将答案(对还是错,没关系,投票决定答案)放入答案部分。 因为它更容易阅读
无论如何,尝试一下。 这正在使用PDO(mysqli的替代方法)
连接到数据库并执行SELECT,可以使用INNER JOINS,LEFT JOINS,UNION等使它变得尽可能复杂
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare("SELECT * FROM anime"); $stmt->execute(); // set the resulting array to associative $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
然后,您想通过已经知道的json_encode
将其转换为JSON
$output = json_encode($result)
您要输出(作为JSON)。 您可以使用echo
并且不要忘记将标头设置为JSON
header('Content-Type: application/json'); echo (output);
请注意,此PHP返回的是JSON,而不是按照@ user1871802的建议将其注入javascript
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.