[SQL] นำเข้ารหัสยามาตรฐาน 24 หลักจากไฟล์ Exel

2009-11-25 / HosXP / 46 Comments

เมื่อไม่นานมานี้  สสจ.  ขอฐานข้อมูลยาไป  เพื่อที่จะ map รหัสยามาตรฐาน 24 หลัก
หลักจาก map เสร็จก็ได้ไฟล์ Exel  มาโดยมี  icode (รหัสยาของ รพ.)   และ did (รหัสยามาตรฐาน)  และข้อมูลอื่น ๆ
ที่สำคัญคือ สองฟิลนี้คือ  icode  และ  did    จะต้อง update  did  ลงไปในฐานข้อมูลยาตาม icode

ปัญหาก็คือจะเอาลงไปยังไงดี  (โปรแกรม map  ยังไม่ได้)  ก็เลยคิดไปคิดมา  เอา  php  เขียนแยกข้อมูลออกมาใส่ตาราง  tempreport
แล้วเอา  SQL  update  did  อีกที   อาจจะไม่ใช่วิธีที่ดี  แต่มันก็อัพเดทได้โดยไม่มึนกับ code  อิอิ

Code PHP
<?
$strFileName = "drug_import.csv";
$objFopen = fopen($strFileName, 'r');
mysql_connect(localhost,"user","password");
if ($objFopen) {
    while (!feof($objFopen)) {
        $file = fgets($objFopen, 4096);
        $drug_code=substr($file,0,7);
        $drug_did=substr($file,8,50);
        echo $drug_code." - ".$drug_did.":::::";
        $sql = "insert into hos.tempreport (reportname,name1,name2) VALUES('drug_item_import','$drug_code','$drug_did')";
        if (mysql_query($sql))
        {
            echo "Insert OK <br>";
        }

}
    fclose($objFopen);
}
?>

 

Code SQL
update drugitems di
inner join tempreport tr on tr.name1=di.icode
set di.did = tr.name2
where  tr.reportname="drug_item_import" 
Read More