db=$db; //查询数据库所需DB $pt->con=$con; //查询对应客户所需条件 $pt->p_head=$p_head; //打印头部内容(内容为一个表格) $pt->arr_zd1=$arr_zd1; //尺码前部字段数组 $pt->arr_zd2=$arr_zd2; //尺码后部字段数组 $pt->table_pre=$table_pre; //数据库表名前缀 //可选赋值 $pt->p_foot=$p_foot; //打印尾部内容(内容为一个表格) $pt->is_zdy=$is_zdy; //是否自定义打印内容,默认为否 $pt->is_byhj=$is_byhj; //是否显示本页合计,默认为是 $pt->is_eph=$is_eph; //打印头部是否每页显示,默认为是 $pt->show_xs=$show_xs; //金额是否显示小数,默认为是 $pt->px="category"; //打印输出排序字段 $content=$pt->rt_table(); //最后获得打印内容 ***********************************************/ class pt { var $is_zdy,$arr_zd1,$arr_zd2,$p_head,$t_table,$p_foot,$db,$table_pre,$is_per,$show_xs; function rt_table(){ //输出打印内容 global $db,$_key,$num_size_total,$detail_size_ms,$bx_sizegroup_id,$is_gg; $is_zdy=($this->is_zdy)?($this->is_zdy):"n"; //是否自定义表内容 $is_byhj=($this->is_byhj)?($this->is_byhj):"y"; //是否显示本页合计 $is_eph=($this->is_eph)?($this->is_eph):"y"; //打印头部是否每页显示 $show_xs=($this->show_xs)?($this->show_xs):"y"; //金额是否显示小数 $db=$this->db; $con=$this->con; $table_pre=$this->table_pre; $arr_zd1=$this->arr_zd1; $arr_zd2=$this->arr_zd2; $p_head=$this->p_head; $p_foot=$this->p_foot; $px=$this->px; if($is_zdy=="n"){ $t_table=""; //取得合并尺码 $arr_size_merged=get_size_merged(); $num_size_total=count($arr_size_merged); //取得尺码合计sql $sql_sum_num=""; for($k=0;$k<$num_size_total;$k++){ $sql_sum_num.="sum(num_".$arr_size_merged[$k].") 'num_".$arr_size_merged[$k]."',"; } $num_size_group=0; $size_tr=array(); $r1=$db->query("select * from web_keyword where cate='size' order by ord"); while($m1=$db->fetch_array($r1)){ $size_tr[$num_size_group]=""; for($i=1;$i<=$num_size_total;$i++){ $tmp=get_db_msg("select title from web_size where iid='".$m1["id"]."' and no='".$i."'"); $t=$tmp["title"]?$tmp["title"]:" "; $size_tr[$num_size_group].=""; } $arr_size_merged[]=$m1["no"]; $num_size_group++; } $tb="
".$t."
"; //表头 $hd=""; $hd.=""; //尺码前字段 foreach($arr_zd1 as $k1 => $v1){ if($k1=="bx"){ if($bx_sizegroup_id>0) $hd.=""; if($is_gg=="y"){ $hd.=""; $hd.=""; }else if($is_gg=="b"){ $hd.=""; } }else{ $hd.=""; } } $hd.=$size_tr[0]; //尺码后字段 foreach($arr_zd2 as $k1 => $v1){ $hd.=""; } $hd.=""; for($i=1;$i<$num_size_group;$i++){ $hd.="".$size_tr[$i].""; } $hd.=""; //表内容 $arr_body=get_tbody($con,$arr_size_merged,$px); $bd=""; for($i=0;$i $v1){ $bd.=get_td($k1,$bg,$num1,$arr_body,$i,$j); //$bd.=""; } $bd.=$arr_body[$i]["size"][$j]; foreach($arr_zd2 as $k1 => $v1){ $bd.=get_td($k1,$bg,$num1,$arr_body,$i,$j); //$bd.=""; } $bd.=""; }else{ $bd.=""; foreach($arr_zd1 as $k1 => $v1){ if($k1=="color" || $k1=="bx"){ $bd.=get_td($k1,$bg,$num1,$arr_body,$i,$j); } } $bd.=$arr_body[$i]["size"][$j]; foreach($arr_zd2 as $k1 => $v1){ if($k1=="color" || $k1=="bx"){ $bd.=get_td($k1,$bg,$num1,$arr_body,$i,$j); } } $bd.=""; } $count++; } } $bd.=""; //表尾 $ft=""; if($is_byhj=="y"){ $ft.=""; if($is_gg=="y" && $arr_zd1["bx"]){ $ct=count($arr_zd1)+1; $ft.=""; for($i=1;$i<=$num_size_total;$i++){ $ft.=""; } foreach($arr_zd2 as $k1 => $v1){ if($k1=="num"){ $ft.=""; }elseif($k1=="je" || $k1=="jsje"){ if($show_xs=="y"){ $ft.=""; }else{ $ft.=""; } }else{ $ft.=""; } } $ft.=""; } $ft.=""; if($is_gg=="y" && $arr_zd1["bx"]){ $ct=count($arr_zd1)+1; $ft.=""; for($i=1;$i<=$num_size_total;$i++){ $ft.=""; } foreach($arr_zd2 as $k1 => $v1){ if($k1=="num"){ $ft.=""; }elseif($k1=="je" || $k1=="jsje"){ if($show_xs=="y"){ $ft.=""; }else{ $ft.=""; } }else{ $ft.=""; } } $ft.=""; $ft.=""; $t_table.=$hd.$bd.$ft; $t_table.="
".$v1."规格规格价规格".$v1."".$v1."
".deel_td($arr_body[$i][$k1])."".deel_td($arr_body[$i][$k1])."
本页合计:"; }else{ $ft.="本页合计:"; } $ft.="####
总合计:"; }else{ $ft.="总合计:"; } $ft.="####
"; }else{ $t_table=$this->t_table; } if($is_eph=="y"){ $p_head="
".$p_head."
"; }else{ $t_table=$p_head.$t_table; $p_head="
"; } $p_foot="
".$p_foot."
"; $t_table="
".$t_table."
"; $prt=$p_head.$t_table.$p_foot; return $prt; } } function get_tbody($con,$arr_size_merged,$px){ //生成表内容数组 global $db,$_key,$num_size_total,$detail_size_ms,$bx_sizegroup_id,$is_gg; if($px){ $q="select iid,no,sum(je) 'je',sum(jsje) 'jsje' from web_order where _key='".$_key."'".$con." group by no order by ".$px.",no"; }else{ $q="select iid,no,sum(je) 'je',sum(jsje) 'jsje' from web_order where _key='".$_key."'".$con." group by no order by no"; } //echo $q."
"; $r=$db->query($q); $total_num=$total_money=$total_money_zk=0; $count=0; $arr_kh=$arr_kh_color=array(); while($m=$db->fetch_array($r)){ $bg=($count%2)?"#ffffff":"#f0f0f0"; $m1=get_db_msg("select * from web_kh where id='".$m["iid"]."'"); $price_zk=get_price_zk($m_client["id"],$m1["id"]); //取得颜色,杯型 $q2="select color,bx,".get_size_sql("sum1").",size_group_id,iid,sum(je) 'je',sum(jsje) 'jsje',price from web_order where _key='".$_key."'".$con." and no='".$m["no"]."' group by color,bx order by color,bx"; //echo $q2."
"; $r2=$db->query($q2); // $j=0; $num1=$je1=$jsje1=$price1=0; while($m2=$db->fetch_array($r2)){ $td_size1=""; $num_color_hj=0; for($k=0;$k<$num_size_total;$k++){ $ck_md=check_md($m1["no"],$m2["color"],$m2["bx"],$arr_size_merged[$k],$msg_login["dj"]); if($s_md=="n"){ if($ck_md!="n"){ $tmp_num=0; }else{ $tmp_num=$m2["num_".$arr_size_merged[$k]]; } }else{ $tmp_num=$m2["num_".$arr_size_merged[$k]]; } if($ck_md!="n"){ $sty1="#999900"; }else{ $sty1=$bg; } if($s_md=="n") $sty1=$bg; $num1+=$tmp_num; $num_color_hj+=$tmp_num; //计算尺码合计 $v11="hj_num_".$k; $$v11+=$tmp_num; // if($tmp_num>0){ if($detail_size_ms=="2"){ $tmp3=get_db_msg("select title from web_size where iid='".$m2["size_group_id"]."' and no='".$arr_size_merged[$k]."'"); $td_size1.="".$tmp3["title"]."
".deel_td(deel_0($tmp_num)).""; }else{ $td_size1.="".deel_td(deel_0($tmp_num)).""; } }else{ $td_size1.=" "; } } if($num_color_hj>0){ $arr_kh[$count]["color"][$j].="".$m2["color"]."-".get_cate_title_no("color",$m2["color"]).""; if($bx_sizegroup_id>0) $arr_kh[$count]["bx"][$j].="".deel_td($m2["bx"]).""; if($is_gg=="y"){ //取得规格价格 $tmp=get_db_msg("select price from web_kh_gg where iid='".$m2["iid"]."' and gg='".$m2["bx"]."'"); $arr_kh[$count]["bx"][$j].="".deel_td(get_gg_title($m2["bx"]))."".deel_td($tmp["price"]).""; }else if($is_gg=="b"){ $arr_kh[$count]["bx"][$j].="".deel_td(get_gg_title($m2["bx"])).""; } $arr_kh[$count]["size"][$j].=$td_size1; $j++; } $price1+=$m2["price"]; $je1+=$m2["je"]; $jsje1+=$m2["jsje"]; } $total_num+=$num1; $total_money+=$je1; $total_money_zk+=$jsje1; // if($num1>0){ $arr_kh[$count]["id"]=$m1["id"]; $arr_kh[$count]["no"]=$m1["no"]; $xh=get_kh_xh($m1); $arr_kh[$count]["xh"]=$xh; $arr_kh[$count]["title"]=$m1["title"]; $arr_kh[$count]["brand"]=get_cate_title_no("brand",$m1["brand"]); $arr_kh[$count]["series"]=get_cate_title_no("series",$m1["series"]); $arr_kh[$count]["theme"]=get_cate_title_no("theme",$m1["theme"]); $arr_kh[$count]["season"]=get_cate_title_no("season",$m1["season"]); $arr_kh[$count]["bc"]=get_cate_title_no("bc",$m1["bc"]); $arr_kh[$count]["gender"]=get_cate_title_no("gender",$m1["gender"]); $arr_kh[$count]["sxz"]=get_cate_title_no("sxz",$m1["sxz"]); $arr_kh[$count]["category"]=get_cate_title_no("category",$m1["category"]); $arr_kh[$count]["category1"]=get_cate_title_no("category1",$m1["category1"]); $arr_kh[$count]["kh_dj"]=get_cate_title_no("kh_dj",$m1["kh_dj"]); $arr_kh[$count]["num"]=$num1; $arr_kh[$count]["price"]=deel_num(keep_float($price1/$j,2)); $arr_kh[$count]["je"]=$je1; $arr_kh[$count]["jsje"]=$jsje1; $count++; } } return $arr_kh; } function get_td($k,$bg,$num1,$arr_body,$i,$j){ //生成表td内容,特殊字段可特殊处理 global $bx_sizegroup_id,$is_gg; $str=""; switch($k){ case "color": $str=$arr_body[$i]["color"][$j]; break; case "bx": $str=$arr_body[$i]["bx"][$j]; break; default: $str="".deel_td($arr_body[$i][$k]).""; break; } return $str; } ?>