สอบถาม เรื่อง รวมค่าที่ต้องการในตาราง

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถาม เรื่อง รวมค่าที่ต้องการในตาราง

สอบถาม เรื่อง รวมค่าที่ต้องการในตาราง

ช่องสีเหลือ= ต้องการรวม จาก HNสีฟ้า  จากวันที่ ช่องสีแดง
ช่องม่วง=ต้องการรวมค่า จากEMTสีเขียว  จากวันที่ ช่องสีแดง
จะมีช่องที่จะรวมอีก อันนี้ ยกตัวอย่างมา
---------------------------------------------------------
ขอแนะนำหน่อยครับบบ


Baby 07-06-2016 12:07:13

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
ไม่แน่ใจว่ารวมแบบไหน แต่ใช้ array ช่วยได้ โดยกำหนด key เป็นวันที่

เช่น

$arr_hr['04062559']['hr'][]=22;
$arr_hr['04062559']['hr'][]=10;
$arr_hr['04062559']['hr'][]=20;

แล้วช่องผลรวมใช้ คำสั่ง array_sum() อีกที


ninenik 07-06-2016
 ความคิดเห็นที่ 2
  1. $arr_hr['04062559']['hr'][]=22; //keyวันที่ผมต้องการรับค่ามาอีกที กับ hr ต้องเขียนแบบไหนครับ 
  2. $arr_hr['04062559']['hr'][]=10; //เช่น <?=$f_data['datemeet']?> keyวันที่
  3. $arr_hr['04062559']['hr'][]=20; 


baby 07-06-2016 14:22
 ความคิดเห็นที่ 3
พอจะมี ตัวอย่างไหมครับบ


baby 07-06-2016 14:27
 ความคิดเห็นที่ 4
ถ้า สมมติ $rs['datedata'] เป้นวันที่ เป็นรูปแบบ 0000-00-00
$rs['hr'] เป้น ข้อมูลสีฟ้า

ข้อมูลสีเหลือง ก็น่าจะประมาณนี้

<?php

$aggr_arr=array();      
while($rs['xxxx']........){
        $dateKey=date("dmY",strtotime($rs['datedata'])); 
        if(!isset($aggr_arr[$dateKey])){
            $aggr_arr[$dateKey]=array();
            $aggr_arr[$dateKey]['HR']=0;
        }
        $aggr_arr[$dateKey]['HR']+=$rs['hr'];
?>
    <tr >
      <td><?=$rs['datedata']?></td>
      <td><?=$rs['hr']?></td>
      <td><?=$aggr_arr[$dateKey]['HR']?></td>
    </tr>
<?php		}  ?>

ตรงค่าสีม่วงก็คำเหมือนกัน เพิ่มตัวแปรเข้าไป เพิ่มค่า EMT เข้าไป
 


ninenik 07-06-2016
 ความคิดเห็นที่ 5
<?php  
  
$aggr_arr=array();        
while($rs['datedata']){  
$dateKey=date("dmY",strtotime($rs['datedata']));   
if(!isset($aggr_arr[$dateKey])){  
$aggr_arr[$dateKey]=array();  
$aggr_arr[$dateKey]['HR']=0;  
}  
$aggr_arr[$dateKey]['HR']+=$rs['hr'];  
?>  
 
 <td><?echo $aggr_arr[$dateKey]['HR'];?></td>  
 
<?php        }  ?>
ตารางและข้อมูล ไม่แสดง ครับ 


baby 07-06-2016 15:36
 ความคิดเห็นที่ 6
<?php  
  
$aggr_arr=array();        
while($rs['datemeet']){  
$dateKey=date("dmY",strtotime($rs['datemeet']));   
if(!isset($aggr_arr[$dateKey])){  
$aggr_arr[$dateKey]=array();  
$aggr_arr[$dateKey]['HR']=0;  
}  
$aggr_arr[$dateKey]['HR']+=$rs['hr'];  
?>  
<td align="center"><?=$f_data['sumhn']?></td><?/*รวมstaffต่อวัน*/?>
<?}?>




ตารางกับ ข้อมูล หายไป ไม่แสดง ครับ


baby 08-06-2016 14:03
 ความคิดเห็นที่ 7
โค้ดที่แนะนำเป็นโค้ดประยุกต์ สิ่งที่ต้องทำก็คือแค่ วนลูปข้อมูลให้แสดงเหมือนเดิมก่อน 
แล้วค่อยเพิ่มส่วนประยุกต์ที่แนะนำไป ถ้าเข้าใจหลักการน่าไม่มีปัญหา 


ninenik 08-06-2016
 ความคิดเห็นที่ 8
<?php
$nr=1;
$num=0;
$per=$_SESSION['Flname'];
$sql = "select * from product_er where month(datemeet)='$s_month' and year(datemeet)='$s_year' ";
$sql .= " ORDER BY datemeet ASC,wage ASC  ";
$c_sql=mysql_db_query($dbname,$sql);
 
while($f_room=mysql_fetch_array($c_sql)) {
 
 
if($nr++%2==1) $trclass='BgSky'; else $trclass='BgSky2';
$total=++$num;
?>


แต่ผมมี วนลูปข้อมูลอยู่แล้ว  สามารถ แซบได้เลยไหมครับ ขอแนะนำหน่อย ครับบ


baby 08-06-2016 15:15
 ความคิดเห็นที่ 9
แทรกได้เลย 
 
$aggr_arr=array();  
while($f_room=mysql_fetch_array($c_sql)) {
        $dateKey=date("dmY",strtotime($f_room['ฟิลวันที่']));   
        if(!isset($aggr_arr[$dateKey])){  
            $aggr_arr[$dateKey]=array();  
            $aggr_arr[$dateKey]['HR']=0;  
        }  
        $aggr_arr[$dateKey]['HR']+=$f_room['ฟิลของhr'];  
.........


ninenik 08-06-2016
 ความคิดเห็นที่ 10


แสดงข้อมูลแล้วครับ  //แต่แบบนี้ครับบ  เช่น ช่องHN กรอบ ฟ้า ไปรวม ช่อง รวมstaffต่อวัน สีฟ้า เหมือนกับว่า มัน + ไปเรื่อยๆ ครับ
ถ้า ผมต้องการ ให้ แสดง ผลรวมทั้ง3 ช่องเลยได้ไหมครับบ


baby 08-06-2016 16:16
1 2 Next






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ