select * from A
while($arry=mysql_fetch_array){
$id_a=$arry[id_a];
select * from B where id_b=$id_a
group by id_b
while($arryB=mysql_fetch_array)
{
echo $arryB[id_b];// 100,200,300
$B_1[]= $arryB[id_b];
}
$B_sum=array_sum($B_1);
select * from C where id_c=$id_a
group by id_c
while($arryC=mysql_fetch_array)
{
echo $arryC[id_c];//100,200,250,100
$C_1[]=$arryC[id_c];
}
$C_sum=array_sum($C_1);
//-----------------------------------------------
echo $sum_all=$B_sum+$C_sum;
//ติดปัญหาคือ ตาราง B และ C ผล บวกออกมาไม่ถูกต้อง
//ผลลัพธ์ที่ต้องการ คือ 1,250=100,200,300 + 100,200,250,100
}
เอา ชุดที่อยู่ใน loop while มาทำเป็น function ดีไหม
Code (PHP)
function count_data($data_main,$data_sub){
select * from B where $data_sub='$data_main'
group by $data_sub
while($arryB=mysql_fetch_array)
{
echo $arryB[$data_sub];
$total += $arryB[$data_sub];
}
return $total
}
select * from A
while($arry=mysql_fetch_array){
$id_a=$arry[id_a];
$B_sum=count_data('id_b',$id_a);
$C_sum=count_data('id_c',$id_a);
}
$sum_all=$B_sum+$C_sum;
echo $B_sum."+".$C_sum."=".$sum_all;