sql语句可以嵌套入php吗,更改SQL结果嵌套在PHP数组中的方式?

PHP& SQL

list( $since, $start_index, $count ) = func_get_args();

$query = "SELECT

size_groups.id, size_groups.name, GROUP_CONCAT( size_values.names SEPARATOR ';' ) AS `display_name`, GROUP_CONCAT( size_values.vals SEPARATOR ';' ) AS `values`, GROUP_CONCAT( size_count.count SEPARATOR ';' ) AS `count`

FROM size_groups

LEFT JOIN

(SELECT CONCAT_WS( ', ', sizes.size ) AS names, CONCAT_WS( ', ', sizes.id ) AS vals, sizes.id AS ids, sizes.group_id FROM sizes)

AS size_values ON size_values.group_id = size_groups.id

LEFT JOIN

(SELECT CONCAT_WS( ', ', COUNT( product_to_sizes.size_id ) ) AS count, product_to_sizes.size_id FROM product_to_sizes)

AS size_count ON size_count.size_id = size_values.ids

WHERE size_groups.timestamp >= '%s' AND id = %s

GROUP BY size_groups.id

ORDER BY size_groups.timestamp ASC LIMIT %s, %s";

return $this->result( $this->connection->query( $query, $since, $category_id, $start_index, $count ) );和

public function result( $data ) {

$result = array();

while ($row = $data->fetch_assoc())

array_push( $result, $row );

return $result;

}像这样输出一个数组

Array

(

[0] => Array

(

[id] => 21

[name] => Sleeve length

[display_name] => 33;34;35;36;37;38

[values] => 94;95;96;97;98;99

[count] =>

)

[1] => Array

(

[id] => 22

[name] => Waist

[display_name] => 40;30;32;34;36;38

[values] => 105;100;101;102;103;104

[count] =>

)

)但我希望它是这样的

Array

(

[0] => Array

(

[id] => 21

[name] => Sleeve length

[values] => Array(

Array(

[display_name] => 33

[value] => 94

[count] => 5

),

Array(

[display_name] => 34

[value] => 95

[count] => 31

)

)

),

[1] => Array

(

etc

)

)大小的表结构

+-----+--------+----------+----------+---------------------+

| id | size | alt_size | group_id | timestamp |

+-----+--------+----------+----------+---------------------+

| 81 | Small | | 19 | 2011-07-15 17:26:01 |

| 82 | Medium | | 19 | 2011-07-15 17:26:10 |

| 83 | Large | | 19 | 2011-07-15 17:26:14 |

| 84 | 14.5 | | 20 | 2011-07-15 17:28:01 |

| 85 | 15 | | 20 | 2011-07-15 17:28:05 |

| 86 | 15.5 | | 20 | 2011-07-15 17:28:08 |

| 87 | 16 | | 20 | 2011-07-15 17:28:13 |

| 88 | 16.5 | | 20 | 2011-07-15 17:28:18 |

| 89 | 17 | | 20 | 2011-07-15 17:28:21 |

| 90 | 17.5 | | 20 | 2011-07-15 17:28:24 |

| 91 | 18 | | 20 | 2011-07-15 17:28:27 |

| 92 | 19 | | 20 | 2011-07-15 17:28:32 |

| 93 | 20 | | 20 | 2011-07-15 17:28:36 |

| 94 | 33 | | 21 | 2011-07-15 17:28:49 |

| 95 | 34 | | 21 | 2011-07-15 17:28:54 |

| 96 | 35 | | 21 | 2011-07-15 17:28:56 |

| 97 | 36 | | 21 | 2011-07-15 17:29:00 |

| 98 | 37 | | 21 | 2011-07-15 17:29:05 |

| 99 | 38 | | 21 | 2011-07-15 17:29:15 |

| 100 | 30 | | 22 | 2011-07-15 17:29:42 |

| 101 | 32 | | 22 | 2011-07-15 17:29:46 |

| 102 | 34 | | 22 | 2011-07-15 17:29:51 |

| 103 | 36 | | 22 | 2011-07-15 17:30:03 |

| 104 | 38 | | 22 | 2011-07-15 17:30:06 |

| 105 | 40 | | 22 | 2011-07-15 17:30:10 |

| 106 | 32 | | 23 | 2011-07-15 17:30:52 |

| 107 | 34 | | 23 | 2011-07-15 17:30:56 |

| 108 | 36 | | 23 | 2011-07-15 17:31:00 |

| 109 | 38 | | 23 | 2011-07-15 17:31:04 |

+-----+--------+----------+----------+---------------------+对于size_groups

+----+---------------+---------------------+

| id | name | timestamp |

+----+---------------+---------------------+

| 19 | Size | 2011-07-15 17:25:45 |

| 20 | Collar size | 2011-07-15 17:26:50 |

| 21 | Sleeve length | 2011-07-15 17:27:00 |

| 22 | Waist | 2011-07-15 17:27:28 |

| 23 | Leg | 2011-07-15 17:27:38 |

+----+---------------+---------------------+和products_to_sizes

+------+------------+---------+-------------+----------+---------------------+

| id | product_id | size_id | stock_level | theorder | timestamp |

+------+------------+---------+-------------+----------+---------------------+

| 8050 | 683 | 109 | 0 | 0 | 2011-07-16 10:45:30 |

| 8049 | 683 | 108 | 0 | 0 | 2011-07-16 10:45:30 |

| 8048 | 683 | 107 | 0 | 0 | 2011-07-16 10:45:30 |

| 8099 | 679 | 109 | 0 | 0 | 2011-07-16 10:48:30 |

| 8098 | 679 | 108 | 0 | 0 | 2011-07-16 10:48:30 |

| 8097 | 679 | 107 | 0 | 0 | 2011-07-16 10:48:30 |

| 8096 | 679 | 106 | 0 | 0 | 2011-07-16 10:48:30 |

| 8095 | 679 | 105 | 0 | 0 | 2011-07-16 10:48:30 |

| 8094 | 679 | 104 | 0 | 0 | 2011-07-16 10:48:30 |

| 8093 | 679 | 103 | 0 | 0 | 2011-07-16 10:48:30 |

+------+------------+---------+-------------+----------+---------------------+有任何想法吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值