Aug 22, 2008

Set PHP with JasperReport (WIN32)

มาล่ะครับผม บทความร้อนๆ มาส่งแล้วจ้า

หลังจากลองทำดูเกือบสองอาทิตย์ และแล้วเหมือนฟ้าจะเป็นใจ

ด้วยความที่ว่าวันนี้ต้องปิดโปรเจกนี้ล่ะ และมันก็ได้ขึ้นมาซะงั้น

ลั้นล๊าาา ฮ่ะๆ มีความสุข เหอๆ


สิ่งที่คุณควรจะมีและติดตั้งไว้แล้ว มีดังนี้

ติดตั้งเจ้าตัว PHP และ JAVA Bridge จากบทความก่อนหน้านี้ซะก่อนนะ

และอย่าลืม ดูที่ไฟล์ php.ini นะครับ ในส่วนของด้านล่างนี้

-----------------------------------------------------
java.library.path="C:\php\ext\lib"
-----------------------------------------------------

ซึ่งจะเป็นที่เก็บ lib ของ iReport นะครับ

ที่สำคัญปิด Service ของ Apache ซะก่อนนะครับ


สร้างห้อง ชื่อว่า lib ใน PHP จะเป็นแบบนี้ C:\PHP\ext\lib

โหลด iReport-3.0.0.zip มาไว้ในเครื่อง และเอา lib ในนั้นทั้งหมด

วางไว้ในห้องที่พึ่งสร้างคือ C:\PHP\ext\lib


ใช้ iReport มาแล้วก็วาดๆๆ จนได้ไฟล์ .jrxml ขึ้้นมาซักไฟล์นะ

แล้วนำไปวางที่ www นะครับ


ตรวจสอบว่ามีไฟล์ mysql-connector-java-5.1.6-bin.jar

ในห้อง C:\PHP\lib\ext หรือยัง ถ้ายังก็โหลดมาไว้ เช่น

นำ mysql-connector-java-5.1.6-bin.jar

จาก mysql-connector-java-5.1.6.tar.gz

วางไว้ใน C:\PHP\ext\lib

(กรณีนี้คือติดต่อ กับ mySQL)


สร้างไฟล์ขึ้นมาเพื่อต่อฐานข้อมูล

ลองดูโค๊ดจาก class JdbcConnector ในลิงค์ด้านล่างนะครับ

http://charly-clairmont.developpez.com/tutoriels/php-jasper-reports/

แนะนำให้ comment code ในส่วนของ method main นะครับ

และส่วนของบรรทัดแรก comment code ที่เป็นการประกาศ package

จากนั้น compile code จะได้ JdbcConnector.class มาหนึ่งไฟล์

นำไปวางไว้ที่ C:\PHP\ext\lib


สร้างไฟล์ PHP ในหัวข้่อ "PHP jasper report Library" จากลิงค์
http://zeronine.org/lab/index.php/Using_Jasper_report_with_PHP

$java_locale->setDefault($java_locale->KOREAN); เปลี่ยนเป็น
$java_locale->setDefault($java_locale->ENGLISH);

สร้างไฟล์สำหรับทดสอบ ในหัวข้อ "Test loader" จากลิงค์เดียวกัน

define('REPORT_COMPILE', false); เปลี่ยนเป็น
define('REPORT_COMPILE', true);

$jasperLib = "C:\PHP\ext\lib"; ให้ระบุไปยังที่ๆ เรานำ lib iReport มาไว้
$reportPath = "C:\Appserv\www"; ให้ระบุไปยังที่ๆ เก็บไฟล์ .jrxml

เปลี่ยนรูปแบบการรับตัวแปร จาก

$_REQUEST['report'] เป็น $report
$_REQUEST['type'] เป็น $exportType

ทั้งนี้อย่าลืมใส่ค่าตัวแปรด้วย
อันนี้คงจะพอเข้าใจและประยุกต์กันได้
จึงไม่ขออธิบายนะครับ

No comments:

Post a Comment

Blog Comment

บทความที่ได้รับความนิยม