这可能是基于此的继续存在的问题
Get info from two tables in database where id match an array?
在上述问题的答案中,我问如何根据json文件匹配两个表的数据。
好人在他的示例中很好地解释了我如何一次只能将json数据存储在数组和查询数据库中,这比我尝试使用foreach快得多。
这很棒。
好吧,由于json文件有时是从其他网站提取的,由于json文件的缘故,加载页面需要花费更多时间,所以我决定将json数组记录到我自己的数据库中并将其从那里拉出,这将使网站加载速度大大提高。
但是我仍然在通过mysql学习曲线,并且不知道如何解决更复杂的问题
这是我的试用
$gamesquery = mysqli_query($conn,
"SELECT steamgames
FROM members
WHERE steamID='$steam64id'");
$data = mysqli_fetch_array($gamesquery);
$gameslist = $data['steamgames'];
$querygamename = mysqli_query($conn,
"SELECT sc_steamgames.*, sc_steamgameprices.*
FROM sc_steamgames
LEFT JOIN sc_steamgameprices on (sc_steamgames.appid=sc_steamgameprices.appid)
WHERE sc_steamgames.appid IN ($gameslist)
ORDER BY title");
这是可行的,但是否可以仅通过一个查询进行?
最佳答案
如果steamgames
以逗号分隔,则可以执行以下操作:
SELECT sc_steamgames.*, sc_steamgameprices.*
FROM sc_steamgames
LEFT JOIN sc_steamgameprices on (sc_steamgames.appid=sc_steamgameprices.appid)
WHERE FIND_IN_SET(sc_steamgames.appid,(
SELECT steamgames
FROM members
WHERE steamID='$steam64id'))
ORDER BY title