php - 如何使用 2 个 sql 构建关联数组?

标签 php mysql arrays

我想构建一个关联数组,它将运行两个 mysql 表。 表名:cs_lots、cs_lots_history。

我的 PHP 代码 -

$rows = array();
$res2 = mysql_query("SELECT * FROM cs_lots WHERE active_lot='1'") or die(mysql_error());
$result1 = mysql_query("SELECT DISTINCT id_lot FROM cs_lots_history WHERE user_steamid='".$_SESSION['steamid']."'") or die(mysql_error());
while($row = mysql_fetch_array($res2)) {
    $rows []= array(
        'id' => $row['id'],
        'inv_id' => $row['inv_id'],
        'inv_assets' => $row['inv_assets'],
        'name' => $row['inv_name'],
        'inv_image' => $row['inv_image'],
        'inv_rarity' => $row['inv_rarity'],
        'inv_color' => $row['inv_color'],
        'inv_type' => $row['inv_type'],
        'inv_price' => $row['inv_price'],
        'price_ticket' => $row['price_ticket'],
        'maxUsers' => $row['places'],
        'nowUsers' => $row['now_places'],
        'my' => false
      );
}

用这段代码排列:

LOTS = [{"id":"166","inv_id":"989","inv_assets":"3432669422","name":"Redline ","inv_image":"image","inv_rarity":"Field-Tested","inv_color":"d32ce6","inv_type":"1","inv_price":"2105.97","price_ticket":"14","maxUsers":"240","nowUsers":"1","my":false},
{"id":"167","inv_id":"929","inv_assets":"3551634073","name":"Hyper Beast ","inv_image":"image","inv_rarity":"Battle-Scarred","inv_color":"eb4b4b","inv_type":"1","inv_price":"924.43","price_ticket":"8","maxUsers":"180","nowUsers":"0","my":false},
{"id":"168","inv_id":"1104","inv_assets":"3313740799","name":"Asiimov ","inv_image":"image","inv_rarity":"Battle-Scarred","inv_color":"eb4b4b","inv_type":"1","inv_price":"1495.00","price_ticket":"13","maxUsers":"180","nowUsers":"19","my":false},
{"id":"169","inv_id":"847","inv_assets":"3603670527","name":"Jaguar ","inv_image":"image","inv_rarity":"Battle-Scarred","inv_color":"eb4b4b","inv_type":"1","inv_price":"2711.65","price_ticket":"13","maxUsers":"320","nowUsers":"8","my":false},
{"id":"170","inv_id":"1100","inv_assets":"3313741398","name":"Asiimov ","inv_image":"image","inv_rarity":"Field-Tested","inv_color":"eb4b4b","inv_type":"1","inv_price":"2756.70","price_ticket":"16","maxUsers":"260","nowUsers":"10","my":false},
{"id":"171","inv_id":"899","inv_assets":"3551642235","name":"Atomic Alloy ","inv_image":"image","inv_rarity":"Factory New","inv_color":"d32ce6","inv_type":"1","inv_price":"862.50","price_ticket":"8","maxUsers":"180","nowUsers":"1","my":false}];

现在我的数组在一个mysql 表上运行,我只有my:false 但我需要更改键my 和值 falsetrue 其中 SQL $result1$result1['id_lot'] 具有相同的结果$行['id']。 例如:如果 $result1['id_lot'] = $row['id'] 我需要此代码:

{"id":"166","inv_id":"989","inv_assets":"3432669422","name":"Redline ","inv_image":"image","inv_rarity":"Field-Tested","inv_color":"d32ce6","inv_type":"1","inv_price":"2105.97","price_ticket":"14","maxUsers":"240","nowUsers":"1","my":true}`

谢谢。

最佳答案

LEFT JOIN + 别名:

$rows = array();
$res2 = mysql_query("SELECT cs_lots_history.id, cs_lots_history.user_steamid, cs_lots_history.id_lot, cs_lots.id as csid, inv_id, inv_assets, inv_image, inv_color, inv_name, inv_rarity, inv_type, inv_price, price_ticket, places, now_places FROM cs_lots LEFT JOIN cs_lots_history ON cs_lots.id = cs_lots_history.id_lot WHERE active_lot='1' OR user_steamid='".$_SESSION['steamid']."' GROUP BY cs_lots.id") or die(mysql_error());

$a=0;
while($row = mysql_fetch_array($res2)) {
    $rows []= array(
        'id' => $row['csid'],
        'inv_id' => $row['inv_id'],
        'inv_assets' => $row['inv_assets'],
        'name' => $row['inv_name'],
        'inv_image' => $row['inv_image'],
        'inv_rarity' => $row['inv_rarity'],
        'inv_color' => $row['inv_color'],
        'inv_type' => $row['inv_type'],
        'inv_price' => $row['inv_price'],
        'price_ticket' => $row['price_ticket'],
        'maxUsers' => $row['places'],
        'nowUsers' => $row['now_places'],
        'my' => !empty($row['id_lot']) ? true : false   
    );
}

谢谢@Sean。

关于php - 如何使用 2 个 sql 构建关联数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32896161/

相关文章:

php - 以宾果方式随机填充二维数组

php - jquery不会用post方法发送

php - 数据库 phpmyadmin 上的图像路径不起作用

php - 图像作为 MySQL 数据库中的链接?

php - ActionScript 3 php 变量没有改变

php - 使用angularjs在表格中显示由PHP形成的json数据

php - 理解获取mysql数据的概念

javascript - 我如何使用 javascript 将对象添加到这个 json 示例中?

python - NumPy Array Reshaped 但如何更改轴以进行池化?

C 数组,我的内存会发生什么