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

/ November 25th, 2009/ Posted in 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" 

Tags: , , , ,

Leave a Reply

You must be logged in to post a comment.