ทดสอบการเชื่อมต่อ MySQl Yii multiple database connections

วันนี้ผมลอง เชื่อมฐานข้อมูล HOSxP เพิ่มเข้ามา โดยที่ให้เป็นฐานที่ 2 คือ hos  ผมจะสั้งให้ปุ่มส่งออก Excellไปคิวรีข้อมูลจาก ฐาน hos มาแสดง  จากเดิมจะดึงจากฐาน Yii_Bureeram พร้อมแล้วไปกันเลย


ก่อนอื่น ก็มาดูก่อนว่า ไฟล์ที่เก็บการเชื่อมต่อ

protected/config/main.php


เพิ่มคำสั่ง 
'db1' => array(
            'class' => 'CDbConnection',
            'connectionString' => 'mysql:host=localhost;dbname=hos',
            'emulatePrepare' => true,
            'username' => 'sa',
            'password' => 'sa',
            'charset' => 'utf8',
        ),

ไปที่ view
Excel>ShowTeacherExcel   จากคำสั่งเดิม ผมเปลี่ยนเป็น db1 และเขียน SQL คิวรีใหม่

<table class="tabe table-responsive" border='1'>
    <tr bgColor=''>
        <td width='30%'>รหัสอาจารย์</td>
        <td width='20%'>ชื่อ  สกุล</td>
        <td width='20%'>เบอร์โทร</td>
        <td width='40%'>อีเมลล์</td>
    </tr>
<?php
$rw =Yii::app()->db1->createCommand('SELECT c.hn,CONCAT(p.pname,p.fname,"  ",p.lname) as ptname,c.regdate,c.lastvisit,c.last_fbs_value,s.clinic_member_status_name,send_to_pcu_hcode from clinicmember c
LEFT OUTER JOIN patient p on p.hn=c.hn
LEFT OUTER JOIN clinic_member_status s on s.clinic_member_status_id=c.clinic_member_status_id
WHERE c.clinic = "001"')->query();
foreach ($rw as $ds) {
     
    ?>
    <tr>
        <td><?=$ds['hn'] ?></td>
         <td><?=$ds['ptname'] ?></td>
          <td><?=$ds['regdate'] ?></td>
           <td><?=$ds['lastvisit'] ?></td>
    </tr>
   <?php
}
   ?>
     
</table>

ผลลัพธ์ เป็นไปอย่างพึงพอใจ


ข้อสังเกต
ถ้าไม่เพิ่ม Class จะ Error ดังภาพ




ไม่มีความคิดเห็น:

ขับเคลื่อนโดย Blogger.