ทดสอบการเชื่อมต่อ 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 ดังภาพ
ไม่มีความคิดเห็น: