【发布时间】:2016-01-25 21:42:55
【问题描述】:
我有这个 SQL 查询。
$sql = "SELECT playerjson FROM `clans` WHERE playercount > ? AND level > ? AND score > ?";
$selectstmt = $con->prepare($sql);
$selectstmt->bind_param('iii',$playercountvar,$levelvar,$scorevar);
$selectstmt->execute(); //execute select statement
$result = $selectstmt->get_result(); //get select statement results
playerjson 是一个大型 JSON 数组。
[
{
"avatar":{
"userId":253404325847,
"currentHomeId":253404325847,
"userName":"enal",
"role":"Member",
"level":62,
"league":8,
"trophies":1707,
"donatedTroops":0,
"receivedTroops":0,
"clanRank":1,
"lastClanRank":2,
"inWar":1
}
},
{
"avatar":{
"userId":158925253577,
"currentHomeId":158925253577,
"userName":"Valen kamja",
"role":"Leader",
"level":54,
"league":8,
"trophies":1693,
"donatedTroops":1054,
"receivedTroops":2131,
"clanRank":2,
"lastClanRank":3,
"inWar":1
}
},
{
"avatar":{
"userId":296357929514,
"currentHomeId":296357929514,
"userName":"\u0645\u064c\u0648\u0646\u0633\u062a\u064d\u0631502",
"role":"Member",
"level":59,
"league":7,
"trophies":1568,
"donatedTroops":0,
"receivedTroops":0,
"clanRank":3,
"lastClanRank":0,
"inWar":1
}
},
{
"avatar":{
"userId":283468864924,
"currentHomeId":283468864924,
"userName":"tolzz",
"role":"Co-Leader",
"level":64,
"league":7,
"trophies":1312,
"donatedTroops":34,
"receivedTroops":456,
"clanRank":4,
"lastClanRank":4,
"inWar":1
}
},
{
"avatar":{
"userId":257703167804,
"currentHomeId":257703167804,
"userName":"hailery",
"role":"Co-Leader",
"level":58,
"league":6,
"trophies":1219,
"donatedTroops":21,
"receivedTroops":404,
"clanRank":5,
"lastClanRank":5,
"inWar":1
}
},
{
"avatar":{
"userId":210456177319,
"currentHomeId":210456177319,
"userName":"chey lie",
"role":"Co-Leader",
"level":79,
"league":0,
"trophies":1101,
"donatedTroops":0,
"receivedTroops":0,
"clanRank":6,
"lastClanRank":6,
"inWar":0
}
}
]
我想要做的只是存储 userid 和 currenthomeid 并将它们存储在一个数组中,该数组将在一个父数组中......
因为我需要获取子数组并将它们作为参数一一传递到 url。 explode 不会用这个吗?
我将如何实现这一目标?我还需要一种改进 SQL 语句的方法,这样我就不会像那样检索整个 JSON,因为它可能需要更长的时间?
【问题讨论】:
-
我会给你写一些代码...等一下:-)