Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ขอสอบถามเกี่ยวกับ การรวมค่าตัวเลขใน array หลายมิติครับ



 

ขอสอบถามเกี่ยวกับ การรวมค่าตัวเลขใน array หลายมิติครับ

 



Topic : 133873



โพสกระทู้ ( 15 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



อยากให้รวม ค่า ดังภาพครับ
ลองใช้ฟังค์ชั่นแล้ว มัยไม่ขึ้นครับ

ตาราง Array


Code (PHP)
<?php
include("config/config.inc.php"); //connect database
$month_check=$_REQUEST["month_check"];
$year_check=$_REQUEST["year_check"];
$Txt_dateStart=date("d-m-Y",strtotime($dateStart));
$Txt_dateStop=date("d-m-Y",strtotime($dateStop));


if ($month_check=="01") {
      $Text_month="มกราคม";
} elseif ($month_check=="02") {
      $Text_month="กุมพาพันธ์";
} elseif ($month_check=="03") {
      $Text_month="มีนาคม";
} elseif ($month_check=="04") {
  $Text_month="เมษายน";
} elseif ($month_check=="05") {
    $Text_month="พฤษภาคม";
} elseif ($month_check=="06") {
  $Text_month="มิถุนายน";
} elseif ($month_check=="07") {
  $Text_month="กรกฎาคม";
} elseif ($month_check=="08") {
  $Text_month="สิงหาคม";
} elseif ($month_check=="09") {
  $Text_month="กันยายน";
} elseif ($month_check=="10") {
  $Text_month="ตุลาคม";
} elseif ($month_check=="11") {
  $Text_month="พฤศจิกายน";
} elseif ($month_check=="12") {
  $Text_month="ธันวาคม";
}


?>

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>รายงาน Production ประจำเดือน <?php echo $Text_month;?> <?php echo $year_check;?>  </title>
    <!-- Tell the browser to be responsive to screen width -->
  <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
  <!-- Bootstrap 3.3.7 -->
  <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css">
  <!-- Font Awesome -->
  <link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.min.css">
  <!-- Ionicons -->
  <link rel="stylesheet" href="bower_components/Ionicons/css/ionicons.min.css">
  <!-- Theme style -->
  <link rel="stylesheet" href="dist/css/AdminLTE.min.css">
  <!-- AdminLTE Skins. Choose a skin from the css/skins
       folder instead of downloading all of them to reduce the load. -->
  <link rel="stylesheet" href="dist/css/skins/_all-skins.min.css">

  <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  <!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->
      <!-- Favicon -->
   <link rel="shortcut icon" href="img/fv_mme.png">

  <!-- Google Font -->
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
</head>
<body>
<div class="wrapper">
  <!-- Main content -->
  <section class="invoice">
    <!-- title row -->

    <!-- title row -->
    <div class="row">
      <div class="col-xs-12">

          <img src="img/fv_mme.png"class="pull-left" width="55"></img> &nbsp; &nbsp;ใบรายงานสรุปเที่ยว
          <br>&nbsp; &nbsp;ห้างหุ้นส่วนจำกัด แม่เมาะวิศวกรรมเหมืองแร่
          <small class="pull-right">ประจำวันที่ : <?php echo $Text_month;?> <?php echo $year_check;?> <input type="button" class="btn btn-success btn-sm" name="Button" value="Print" 
            onclick="javascript:this.style.display='none';window.print();"></small>

        <hr>

      </div>
      <!-- /.col -->
    </div>

<?php 

$allEquipData = array();

$sql2="SELECT * from equipment where Equip_category='รถรับ' order by Equip_id ASC";
$resultA=mysql_db_query ($objDB, $sql2);
while($arr2=mysql_fetch_array($resultA)){
$allEquipData[$arr2['Equip_id']] = $arr2['Equip_codename'];
}

/*
echo "<pre>";
print_r($allEquipData);
echo "</pre>";
*/

//เรียกข้อมูลการจองของเดือนที่ต้องการ
 $allReportData = array();
 $strSQL = "SELECT production.*,equipment.*,
DAY(`Prod_date`) AS dayToday,
SUM(Oil)as Total_Oil_dt,
SUM(Prod_trip)as Total_Trip_dt,
SUM(Prod_bcm) as Total_BCM_dt,
SUM(Total_kilo) as Total_kilo_dt 
FROM `production` 
left join equipment on production.Equip_id=equipment.Equip_id
";
 $strSQL.= "WHERE `Prod_date` LIKE '$year_check-$month_check%' AND Equip_category='รถรับ' ";
$strSQL.= "GROUP by equipment.Equip_id,dayToday";
              $result=mysql_db_query ($objDB,$strSQL);
              while($objResult=mysql_fetch_array($result)){



   $allReportData[$objResult['Equip_id']][$objResult['dayToday']] = $objResult['Total_Oil_dt'];




              }

$allEquipTotal = array();

$sql3="SELECT production.*,equipment.*,
DAY(`Prod_date`) AS dayToday,
SUM(Oil)as Total_Oil_dt,
SUM(Prod_trip)as Total_Trip_dt,
SUM(Prod_bcm) as Total_BCM_dt,
SUM(Total_kilo) as Total_kilo_dt 
FROM `production` 
left join equipment on production.Equip_id=equipment.Equip_id
WHERE `Prod_date` LIKE '$year_check-$month_check%' AND Equip_category='รถรับ'
GROUP by equipment.Equip_id,dayToday
";
$resultA=mysql_db_query ($objDB, $sql3);
while($arr2=mysql_fetch_array($resultA)){


$Total_sum=$Total_sum+$arr2['Total_Oil_dt'];
$allEquipTotal[$arr2['Equip_id']] = $Total_sum;
}

/*
echo "<pre>";
print_r($allEquipTotal);
echo "</pre>";
*/
      
?>
 <!-- Table row -->
      <div class="row">

        <div class="col-xs-12 table-responsive">

            <div class="box-header with-border">
              <h3 class="box-title">สรุปเติมน้ำโซล่า รถรับ</h3>
            </div>

          <table class="table table-striped table-condensed table-bordered">
            <thead>
            <tr>
              <th class="text-center">เครื่องจักร</th>
              <?php

              $timeDate = strtotime($year_check.'-'.$month_check."-01");  //เปลี่ยนวันที่เป็น timestamp
              $lastDay = date("t", $timeDate);       //จำนวนวันของเดือน
              //echo "$timeDate";
              //สร้างหัวตารางตั้งแต่วันที่ 1 ถึงวันที่สุดท้ายของดือน
              for($day=1;$day<=$lastDay;$day++){
               echo '<th>' . substr("0".$day, -2) . '</th>';
              } ?>
              <th>Total</th>
            </tr>
   <?php 

//วนลูปเพื่อสร้างตารางตามจำนวนรายการใน Array
foreach($allEquipData as $empCode=>$empName){

 echo '<tr>';//เปิดแถวใหม่ ตาราง HTML
  echo '<td>'. $empName .'</td>';
  //เรียกข้อมูลขอแต่ละเครื่องจักร ในเดือนนี้
 for($j=1;$j<=$lastDay;$j++){
  //ตรวจสอบว่าวันที่แต่ละวัน $j ของ เครื่องแต่ละรหัส  $EquipCode มีข้อมูลใน  $allReportData หรือไม่ ถ้ามีให้แสดงจำนวนในอาร์เรย์ออกมา ถ้าไม่มีให้เป็น 0
  $numBook = isset($allReportData[$empCode][$j]) ? '<div>'.$allReportData[$empCode][$j].'</div>' : 0;

  echo "<td class='number'>", $numBook, "</td>";

 }




echo "<td class='number'>", array_sum($allReportData), "</td>";




echo '</tr>';//ปิดแถวตาราง HTML
}
echo "</table>";

/*
echo "<pre>";
print_r($allReportData);
echo "</pre>";
*/

?>


        </div>
      </div>
        <!-- /.col -->

  </section>
  <!-- /.content -->
</div>
<!-- ./wrapper -->
</body>
</html>





Tag : PHP









ประวัติการแก้ไข
2019-07-12 10:46:42
2019-07-12 10:47:57
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-07-12 10:35:32 By : bondsanti View : 800 Reply : 7
 

 

No. 1



โพสกระทู้ ( 421 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

้ิเอาโค้ดมาแปะครับ
เพราะพี่ ๆเขาจะได้ช่วยถูก






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-07-12 10:44:58 By : nobetaking
 


 

No. 2



โพสกระทู้ ( 15 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 1 เขียนโดย : nobetaking เมื่อวันที่ 2019-07-12 10:44:58
รายละเอียดของการตอบ ::
ลืม ครับ สักครู่ รีบไปหน่อยย 555


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-07-12 10:46:00 By : bondsanti
 

 

No. 3



โพสกระทู้ ( 15 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 1 เขียนโดย : nobetaking เมื่อวันที่ 2019-07-12 10:44:58
รายละเอียดของการตอบ ::
Code (PHP)
<?php
include("config/config.inc.php"); //connect database
$month_check=$_REQUEST["month_check"];
$year_check=$_REQUEST["year_check"];
$Txt_dateStart=date("d-m-Y",strtotime($dateStart));
$Txt_dateStop=date("d-m-Y",strtotime($dateStop));


if ($month_check=="01") {
      $Text_month="มกราคม";
} elseif ($month_check=="02") {
      $Text_month="กุมพาพันธ์";
} elseif ($month_check=="03") {
      $Text_month="มีนาคม";
} elseif ($month_check=="04") {
  $Text_month="เมษายน";
} elseif ($month_check=="05") {
    $Text_month="พฤษภาคม";
} elseif ($month_check=="06") {
  $Text_month="มิถุนายน";
} elseif ($month_check=="07") {
  $Text_month="กรกฎาคม";
} elseif ($month_check=="08") {
  $Text_month="สิงหาคม";
} elseif ($month_check=="09") {
  $Text_month="กันยายน";
} elseif ($month_check=="10") {
  $Text_month="ตุลาคม";
} elseif ($month_check=="11") {
  $Text_month="พฤศจิกายน";
} elseif ($month_check=="12") {
  $Text_month="ธันวาคม";
}


?>

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>รายงาน Production ประจำเดือน <?php echo $Text_month;?> <?php echo $year_check;?>  </title>
    <!-- Tell the browser to be responsive to screen width -->
  <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
  <!-- Bootstrap 3.3.7 -->
  <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css">
  <!-- Font Awesome -->
  <link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.min.css">
  <!-- Ionicons -->
  <link rel="stylesheet" href="bower_components/Ionicons/css/ionicons.min.css">
  <!-- Theme style -->
  <link rel="stylesheet" href="dist/css/AdminLTE.min.css">
  <!-- AdminLTE Skins. Choose a skin from the css/skins
       folder instead of downloading all of them to reduce the load. -->
  <link rel="stylesheet" href="dist/css/skins/_all-skins.min.css">

  <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  <!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->
      <!-- Favicon -->
   <link rel="shortcut icon" href="img/fv_mme.png">

  <!-- Google Font -->
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
</head>
<body>
<div class="wrapper">
  <!-- Main content -->
  <section class="invoice">
    <!-- title row -->

    <!-- title row -->
    <div class="row">
      <div class="col-xs-12">

          <img src="img/fv_mme.png"class="pull-left" width="55"></img> &nbsp; &nbsp;ใบรายงานสรุปเที่ยว
          <br>&nbsp; &nbsp;ห้างหุ้นส่วนจำกัด แม่เมาะวิศวกรรมเหมืองแร่
          <small class="pull-right">ประจำวันที่ : <?php echo $Text_month;?> <?php echo $year_check;?> <input type="button" class="btn btn-success btn-sm" name="Button" value="Print" 
            onclick="javascript:this.style.display='none';window.print();"></small>

        <hr>

      </div>
      <!-- /.col -->
    </div>

<?php 

$allEquipData = array();

$sql2="SELECT * from equipment where Equip_category='รถรับ' order by Equip_id ASC";
$resultA=mysql_db_query ($objDB, $sql2);
while($arr2=mysql_fetch_array($resultA)){
$allEquipData[$arr2['Equip_id']] = $arr2['Equip_codename'];
}

/*
echo "<pre>";
print_r($allEquipData);
echo "</pre>";
*/

//เรียกข้อมูลการจองของเดือนที่ต้องการ
 $allReportData = array();
 $strSQL = "SELECT production.*,equipment.*,
DAY(`Prod_date`) AS dayToday,
SUM(Oil)as Total_Oil_dt,
SUM(Prod_trip)as Total_Trip_dt,
SUM(Prod_bcm) as Total_BCM_dt,
SUM(Total_kilo) as Total_kilo_dt 
FROM `production` 
left join equipment on production.Equip_id=equipment.Equip_id
";
 $strSQL.= "WHERE `Prod_date` LIKE '$year_check-$month_check%' AND Equip_category='รถรับ' ";
$strSQL.= "GROUP by equipment.Equip_id,dayToday";
              $result=mysql_db_query ($objDB,$strSQL);
              while($objResult=mysql_fetch_array($result)){



   $allReportData[$objResult['Equip_id']][$objResult['dayToday']] = $objResult['Total_Oil_dt'];




              }

$allEquipTotal = array();

$sql3="SELECT production.*,equipment.*,
DAY(`Prod_date`) AS dayToday,
SUM(Oil)as Total_Oil_dt,
SUM(Prod_trip)as Total_Trip_dt,
SUM(Prod_bcm) as Total_BCM_dt,
SUM(Total_kilo) as Total_kilo_dt 
FROM `production` 
left join equipment on production.Equip_id=equipment.Equip_id
WHERE `Prod_date` LIKE '$year_check-$month_check%' AND Equip_category='รถรับ'
GROUP by equipment.Equip_id,dayToday
";
$resultA=mysql_db_query ($objDB, $sql3);
while($arr2=mysql_fetch_array($resultA)){


$Total_sum=$Total_sum+$arr2['Total_Oil_dt'];
$allEquipTotal[$arr2['Equip_id']] = $Total_sum;
}

/*
echo "<pre>";
print_r($allEquipTotal);
echo "</pre>";
*/
      
?>
 <!-- Table row -->
      <div class="row">

        <div class="col-xs-12 table-responsive">

            <div class="box-header with-border">
              <h3 class="box-title">สรุปเติมน้ำโซล่า รถรับ</h3>
            </div>

          <table class="table table-striped table-condensed table-bordered">
            <thead>
            <tr>
              <th class="text-center">เครื่องจักร</th>
              <?php

              $timeDate = strtotime($year_check.'-'.$month_check."-01");  //เปลี่ยนวันที่เป็น timestamp
              $lastDay = date("t", $timeDate);       //จำนวนวันของเดือน
              //echo "$timeDate";
              //สร้างหัวตารางตั้งแต่วันที่ 1 ถึงวันที่สุดท้ายของดือน
              for($day=1;$day<=$lastDay;$day++){
               echo '<th>' . substr("0".$day, -2) . '</th>';
              } ?>
              <th>Total</th>
            </tr>
   <?php 

//วนลูปเพื่อสร้างตารางตามจำนวนรายการใน Array
foreach($allEquipData as $empCode=>$empName){

 echo '<tr>';//เปิดแถวใหม่ ตาราง HTML
  echo '<td>'. $empName .'</td>';
  //เรียกข้อมูลขอแต่ละเครื่องจักร ในเดือนนี้
 for($j=1;$j<=$lastDay;$j++){
  //ตรวจสอบว่าวันที่แต่ละวัน $j ของ เครื่องแต่ละรหัส  $EquipCode มีข้อมูลใน  $allReportData หรือไม่ ถ้ามีให้แสดงจำนวนในอาร์เรย์ออกมา ถ้าไม่มีให้เป็น 0
  $numBook = isset($allReportData[$empCode][$j]) ? '<div>'.$allReportData[$empCode][$j].'</div>' : 0;

  echo "<td class='number'>", $numBook, "</td>";

 }




echo "<td class='number'>", array_sum($allReportData), "</td>";




echo '</tr>';//ปิดแถวตาราง HTML
}
echo "</table>";

/*
echo "<pre>";
print_r($allReportData);
echo "</pre>";
*/

?>


        </div>
      </div>
        <!-- /.col -->

  </section>
  <!-- /.content -->
</div>
<!-- ./wrapper -->
</body>
</html>



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-07-12 10:48:35 By : bondsanti
 


 

No. 4



โพสกระทู้ ( 421 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

http://marcuscode.com/lang/php/arrays
ลองดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-07-12 11:22:37 By : nobetaking
 


 

No. 5



โพสกระทู้ ( 15 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 4 เขียนโดย : nobetaking เมื่อวันที่ 2019-07-12 11:22:37
รายละเอียดของการตอบ ::
ยังไม่ได้เลยครับ 555 งง

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-07-12 14:39:25 By : bondsanti
 


 

No. 6



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


คิวรี่เอาเฉพาะผลรวมก่อน จัดเก็บเป็น array ไว้ง่ายกว่า
Code (PHP)
$rowsTTL = $db->query('select id sum(xyz) ttl from tb_abc where dte between stdte and endte group by id');
$arTTL = []; while( $row = $rowsTTL.fetch_object()){
   $arTTL[$row->id] = $row;
}


แล้ว เอา $arTTL[ id ]->ttl มาใช้งาน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-07-12 14:53:36 By : Chaidhanan
 


 

No. 7



โพสกระทู้ ( 171 )
บทความ ( 0 )



สถานะออฟไลน์


echo "<td class='number'>", array_sum($allReportData), "</td>";

Sum ตามมิติที่ 1 ครับ เปลี่ยนเป็น

echo "<td class='number'>", array_sum($allReportData[$empCode]), "</td>";
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-07-12 16:02:42 By : birdbird27
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอสอบถามเกี่ยวกับ การรวมค่าตัวเลขใน array หลายมิติครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่