A-AA+then

php เขียนนับจำนวนคนไข้แล้วเก็บใส่ใน array 2 มิติยังไงคะ???

3,050

    สวัสดีค่ะ ต้องการเขียนเพื่อนับจำนวนคนไข้ที่มารักษาในแต่ละวัน 
    ตัวอย่างข้อมูล คือ
    (รหัส-รหัสคนไข้-วันที่มารักษา-รหัสโรค)
    1-02154-01-1
    2-00126-01-5
    3-08142-01-5
    4-00458-02-2
    5-00357-02-5
    ..
    ...
    ....
    ผลลัพธ์ที่ต้องการคือ
    รหัสโรค-วันที่มารักษา-จำนวนคนไข้
    1-01=1
    5-01=2
    2-02=1
    5-02=1
    
    ทีนี้ ก่อนหน้านี้ลองเขียนแบบอัดใส่ array แบบมิติ เดียว ผลออกมาได้แล้ว แต่คิดว่าคงใช้ไม่ได้ ต้องใช้แบบ 2 มิติ แต่ลองเขียนแล้วไม่ออกค่ะ..เขียนแบบ 2 มิติยังไงอ่ะคะ
    
    นี่คือ code ของ array มิติเดียวค่ะ
    $i =0;
    $total = array();
    
    //**
    for($i=0;$i<=31;$i++) {
         $rou=substr('0'.$i,-2,2); //ตัดค่าที่ได้จากใน DB มานำมาเปรียบเทียบในบรรทัดล่าง ตัวอย่างที่ได้คือ 01,02,03....,31
         if($dFrom==$rou){//เปรียบเทียบค่าที่ได้ ว่าตรงกับวันไหน
           $total[$i]=$total[$i]+1;// ถ้าตรงกันก็นับ
           echo"total$i]=$total$i]<br>";
         }
    }

2 ความคิดเห็น

ตัดเอาเลขท้ายออกมาก่อนเลยครับจะได้ประมาณนี้
<?php
for (....){
  $d = substr('0', $i, -4);// จะได้ 4 ตัวหลัง 01-1,01-5,01-5,02-2,02-5 ถ้าไม่ใช่คำสั่งนี้ลองเขียนให้ถูกดูนะครับ แต่จะต้องได้ผลลัพท์แบบนี้
  list($a, $b) = explode('-', $d);// แยกออกด้วย -
  $total["$b-$a"]++;
}
print_r($total);// ผลลัพท์
?>

1

    ได้แล้วค่ะ ใช้วิธีการใส่ข้อมูลลงใน array แล้วค่อยมาเปรียบเทียบค่า

$sql="select disease.dsID,insertstaff.dFrom from insertstaff,disease where(insertstaff.dsID=disease.dsID)";
$result = mysql_query($sql);
    $i = 1;
    while ($show = mysql_fetch_array($result)) 
    {
         $data[$i] = array('dsID' => $show['dsID'],'dFrom' => $show['dFrom']);
        $i++;
    }

ขอบคุณค่ะ
2
^