พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com
PHP development / ออกรายงาน
หัดเขียน
หัดเขียน
Tue 29 May 2007 10:04:07
   ทำหน้ารายงาน โดยให้แสดงเป็นค่า 1 กับ 0 ในช่องแบบนี้ค่ะ

 ลำดับที่  ชื่อสาขา  ม.ค.  กพ. มีค.  เมย.  พค. มิย.  กค.  สค.  รวม  รวมเดือน 
 1  นครราชสีมา  1  0  0  0  1  0  0  1  3  3
 2  สระแก้ว  0  0  0  0  1  1  0  0  2  2
 3  นครสวรรค์  1  1  1  1  1  1  0  0  5  5
 4  ยะลา 0  0  0  0  1  1  1  1  4  4
 5  ขอนแก่น  1  0  0  0  0  0  0  0  1  1
 6  หาดใหญ่  1 1  1  1  0  0  0  0  4  4
 7  ร้อยเอ็ด  0 0  0  0  0  1  1  2  2
รวม    4  2  2  2  4  3  2  3  19  21

ข้อมูลที่แสดงเป็นการดึงออกมาจากฐานข้อมูลที่เป็นวันที่ตามที่เก็บไว้เป็นแบบ 12/03/2550 แล้ว explode ออกมาเป็นวันที่ ใช้ arry แยกออกมาจากเครื่องหมาย "/" ได้เดือนเป็นอาร์เรย์ตัวที่ 2 แล้วมากำหนดเงื่อนไขว่าถ้าช่อง เดือนมีนาคม  มีค่าเป็นเดือน 3 ให้แสดงค่า 1 ออกมา

 ดิฉันติดปัญหาตรงที่ว่านี้นะค่ะ  ตอนรวมไม่รู้จะรวมยังไงให้ออกตามตัวเลขที่แสดงให้ดู

webmaster
webmaster
Tue 29 May 2007 12:10:45
ก็ใช้ array เก็บครับเช่น
มกราคม ก็ $arr[1]++
มีนาคม ก็ $arr[3]++

จากนั้นก็ loop เอาค่าใน array มาแสดงผลครับ

**ขอ comment ว่าทำไมไม่เก็บเป็นชนิดที่สามารถคำนวณได้ในฐานข้อมูลเลย เช่น date, datetime จะได้ไม่ต้อง explode สามารถทำการ SUM() ได้ทันทีครับ ไม่มีปัญหาเรื่องความผิดพลาดของข้อมูลด้วยครับ
หัดเขียน
หัดเขียน
Tue 29 May 2007 13:20:41

ไม่เข้าใจคะ  ขอชัด ๆ กว่านี้ค่ะ  เพราะเก็บชนิดข้อมูลเป็น varchar  แล้ว explode เก็บค่าไว้แบบนี้ค่ะ  

 $a = explode("/", $row['add_send']);
     if ($a[1]==01){
    $a1=1;
    $a2=0;
    echo (int)$a1;
    }
    if ($a[1] !=01){
    echo (int)$a2;
    }

ส่วนตัวที่แสดงชื่อสาขาถ้าหากตัวใดมีซ้ำก็ให้เก็บไว้ในชื่อเดียวเลย แต่ที่ทำมันเป็นการนับค่า fatch ออกมาตามที่มี ทำให้มีชื่อซ้ากันหลายครั้ง  แต่ต้องการให้มันแสดงแค่ค่าเดียวแล้วให้แสดง ตามช่องเดือน ใครเดือนมัน

webmaster
webmaster
Tue 29 May 2007 19:39:52
ทำการสร้าง array ที่มี index เป็นเลขเดือนตามที่ต้องการ ในขณะที่ loop ก็ดูว่าเป็นเดือนอะไรก็ไปเพิ่มใน array ที่มี index เป็นเดือนนั้นๆ จากนั้นตอนแสดงผลรวมก็เอา array นั้นๆมาแสดงตามเลขเดือน
หัดเขียน
หัดเขียน
Tue 5 Jun 2007 12:00:31

         ถ้าเอาชื่อที่ทำการ exploe ไฟล์ แบบนำฟิลด์ตัวเดิม  แต่นำมาเก็บในตัวแปรใหม่ เรื่อยๆ จะมีผลต่อการจำค่าตัวแปรเดิมรึเปล่าค่ะ  เช่นแบบนี้ค่ะ

$d = explode("/", $row['add_send']);

$a = explode("/", $row['add_send']);

$g= explode("/", $row['add_send']);


หัดเขียน
หัดเขียน
Tue 5 Jun 2007 12:03:26

นำไปวางในช่องเดือน ม.ค. ด้วย Code นี้ค่ะ

<?
      $jan= explode("/", $row['add_update']);
          
   $jan1=1;
   $jan2=0;
   if ($jan[1]==01){    
    $sum_jan1 =  (int)$jan1 ;
    echo $sum_jan1;
    }
    if ($jan[1] !=01){
    $sum_jan2 =  (int)$jan2;
    echo $sum_jan2;
    } else {
    $total_jan = 0;
    $total_jan=(int)($total_jan+$sum_jan1+$sum_jan2+$row['add_update'][1]);   //
    }
   //echo $row['add_update'];
   
         ?>

webmaster
webmaster
Tue 5 Jun 2007 18:22:00
ในรอบการ loop สามารถทำ explode ใส่ตัวแปรตามต้องการได้ครับ น่าจะใส่ตัวแปรที่เป็น array จะได้ประโยชน์มากกว่าสร้างชื่อตัวแปรไปเรื่อยๆ
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login