为Mysql Tier表生成JSON对象(PHP)

时间:2017-07-21 01:45:44

标签: php html mysql json

直接指向我有3个表如下 -

数量类型表

--------------------
| ID  |  QTY types |
|  1  |  1         |
|  2  |  2-4       |
|  3  |  5-9       |
|  4  |  10-24     |
|  5  |  25+       |
--------------------

海报尺寸表

-----------------------
| ID  |  Poster Size  |
+-----+---------------+
|  1  |  A4           |
|  2  |  A3           |
|  3  |  A2           |
|  4  |  A1           |
|  5  |  A0           |
-----------------------

价格表(基于数量ID-列标题)

--------------------------------------------------------------------------------
| qty_id_1  |  qty_id_2  |  qty_id_3  |  qty_id_4  |  qty_id_5  |  poster_size |
+-----------+------------+------------+------------+------------+--------------+
|     4     |    3.5     |   2.75     |   3.25     |         3  |            1 |
|     6     |    5.5     |      4     |   4.75     |       4.5  |            2 |
|    12     |    9.5     |    6.5     |    8.5     |         8  |            3 |
|    18     |     16     |   10.5     |     14     |      12.5  |            4 |
|    34     |     33     |     25     |     31     |        28  |            5 |
--------------------------------------------------------------------------------

我只想根据用户输入生成价格,例如,如果用户选择Qty.id=2 Poster_size.id=3,那么答案将 $ 9.5

所有这些数据都是静态的,所以之后我只想生成JSON文件 使用fwrite (php)这样的东西


    {
        "qty_1":{
            "poster_size_1":[
                {
                    "price":4
                }
            ],
            "poster_size_2":[
                {
                    "price":6
                }
            ],
            "poster_size_3":[
                {
                    "price":12
                }
            ],
            "poster_size_4":[
                {
                    "price":18
                }
            ],
            "poster_size_5":[
                {
                    "price":34
                }
            ]
        },
        "qty_2":{
            "poster_size_1":[
                {
                    "price":3.5
                }
            ],
            "poster_size_2":[
                {
                    "price":5.5
                }
            ],
            "poster_size_3":[
                {
                    "price":9.5
                }
            ],
            "poster_size_4":[
                {
                    "price":16
                }
            ],
            "poster_size_5":[
                {
                    "price":33
                }
            ]
        }
    }

通过这种方式,我可以轻松访问obj.qty_1.poster_size_3.price $ 9.5

我如何填充这样的JSON文件,或者是否有任何替代方法来填充不同的JSON结构以获取我所需的数据。 (我是JSON对象的新手)

帮助感谢|在此先感谢

Please Check this my sample PHP file to generate JSON

2 个答案:

答案 0 :(得分:1)

像这样解释像json这样的数组。

$arr = array(
  'qty_1' => array(
    "poster_size_1" => array(
      "price" => 4
    ),
  'qty_2' => array(
    'key' => 'value',
    'key2' => array(
       value, value2
    )
  )
);

此数组将生成

{"qty_1": {"poster_size_1" : {"price": 4}}} blabla...

答案 1 :(得分:0)

以你想要json的方式创建一个数组/ Object,并使用json_encode()函数将数组转换为json然后写入文件。