我有3张桌子
这个过程是
services
表中获取服务列表;然后service_default_req
表示例services
表
service_id ===== service_name
1 ticket
2 tours
示例service_req
service_req_id======requirement
1 NSO birth cert
2 OLD passport
将service_default_req
id====service_id=====service_req_id=====required
1 1 1 0
2 1 2 0
我使用的功能
function listServices(){
$services= array();
$sql = mysql_query("SELECT * FROM service
LEFT JOIN service_default_req ON service_default_req.service_id = service.service_id
LEFT JOIN service_req ON service_req.service_req_id = service_default_req.service_req_id
");
while($temp=mysql_fetch_array($sql)){
$services[] = array("service_id" => $temp['service_id'], "service_name"=>$temp['service_name'], "requirements"=>array($temp['requirement']), "required"=>$temp['required']);
}
return $services;
}
我得到了什么
Array
(
[0] => Array
(
[service_id] => 2
[service_name] => Passport
[requirements] => Array
(
[0] => NSO Birth Certificate
)
[required] => 0
)
[1] => Array
(
[service_id] => 2
[service_name] => Passport
[requirements] => Array
(
[0] => Old Passport
)
[required] => 0
)
[2] => Array
(
[service_id] =>
[service_name] => Tours
[requirements] => Array
(
[0] =>
)
[required] =>
)
)
我真正需要的是这样的事情。还请注意,为什么第二项服务没有ID?
Array
(
[0] => Array
(
[service_id] => 2
[service_name] => Passport
[requirements] => Array
(
[0] => NSO Birth Certificate
[1] => Old Passport
)
[required] => 0
)
[1] => Array
(
[service_id] =>
[service_name] => Tours
[requirements] => Array
(
[0] =>
)
[required] =>
)
)
任何帮助都会受到高度赞赏:D
答案 0 :(得分:0)
您需要实现一个类似于此处描述的接受答案的数组分组功能:Group a multidimensional array by a particular value?