|
|
|
ขอถามว่าเรา สารมารถ export ข้อมูลจากฐานข้อมูล ให้เป็น excel แบบสมารถให้เลือกข้อมูลได้ไหมครับ |
|
|
|
|
|
|
|
ทำที่ Query ของ MySQL ครับ
|
|
|
|
|
Date :
2013-08-23 12:45:38 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
function xlsBOF() {
echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}
function xlsEOF() {
echo pack("ss", 0x0A, 0x00);
return;
}
function xlsWriteNumber($Row, $Col, $Value) {
echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo pack("d", $Value);
return;
}
function xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
echo $Value;
return;
}
?>
2.
Code (PHP)
// ตรงนี้คือ sql statement ในการดึงข้อมูลมาจากฐานข้อมูล
$result=mysql_db_query($dbname,"select id,prename,name,sname,grade from appdata where course='$courseid' and sec='$section'")
// เมื่อได้ข้อมูลแล้วเราก็ส่ง Header เลยครับ
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");;
header("Content-Disposition: attachment;filename=$courseid-$sec.xls "); // แล้วนี่ก็ชื่อไฟล์
header("Content-Transfer-Encoding: binary ");
// ต่อมาก็ลองดูเอาเองนะครับผมคงไม่อธิบายหมด ต้องใช้ sense หน่อย อิ อิ
xlsBOF();
xlsWriteLabel(1,0,"รายชื่อนักศึกษาที่ลงทะเบียนเรียน $semester/$year");
xlsWriteLabel(2,0,"COURSENO : ");
xlsWriteLabel(2,1,"$courseid");
xlsWriteLabel(3,0,"TITLE : ");
xlsWriteLabel(3,1,"$title");
xlsWriteLabel(4,0,"SETION : ");
xlsWriteLabel(4,1,"$sec");
xlsWriteLabel(6,0,"ที่");
xlsWriteLabel(6,1,"รหัสนักศึกษา");
xlsWriteLabel(6,2,"นาม");
xlsWriteLabel(6,3,"ชื่อ");
xlsWriteLabel(6,4,"นามสกุล");
$xlsRow = 7;
while(list($id,$prename,$name,$sname,$grade)=mysql_fetch_row($result)) {
++$i;
xlsWriteNumber($xlsRow,0,"$i");
xlsWriteNumber($xlsRow,1,"$id");
xlsWriteLabel($xlsRow,2,"$prename");
xlsWriteLabel($xlsRow,3,"$name");
xlsWriteLabel($xlsRow,4,"$sname");
$xlsRow++;
}
xlsEOF();
exit();
?>
http://www.appservnetwork.com/modules.php?name=News&file=article&sid=1
|
|
|
|
|
Date :
2013-08-23 12:53:35 |
By :
yamcrocodile |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมไม่แน่ใจ ว่าอธิบาย ให้ พี่ๆ เข้าได้รึป่าว อิอิ ผมอาจอธิบายไม่หมด
คืองี้ครับ "จะ เลือก export เดือนไหน ออกมาและให้ รันตัวเลข ตามลำดับแถว อัิตโนมัติ คือ 1,2,3.... ไปจนหมดเดือน ครับ พอเลือกเดือนที่จะ export ก็เริ่มต้น ตัวเลข 1,2,3... ใหม่"
คือ ให้เลือก ใน list menu ครับ ว่าจะเอาเดือนไหน พอได้เดือนแล้ว จะมี ให้กด export ออก มาเป็น excel ครับ แล้วจะให้มันรันตัวเลขอัตโนมัติครับผม
|
|
|
|
|
Date :
2013-08-23 13:12:05 |
By :
n_a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ข้อมูลที่ while ออกมากมันจะ while มาเป็นแถว ถ้าเราอยากให้มันแสดงตัวเลข 1 2 3 4 ..... เรื่อยๆตามข้อมูลที่มีก็ทำประมาณนี้ครับ
Code (PHP)
$number = 1;
while($result = mysql_fetch_assoc($sql))
{
echo "$number : $result[name]";
$number++; // คือให้ + เพิ่มเลข
}
|
|
|
|
|
Date :
2013-08-23 13:43:26 |
By :
yamcrocodile |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|