มกราคม 28, 2021, 03:36:07 PM *
ยินดีต้อนรับคุณ, บุคคลไม่รู้ว่าใคร กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
หน้า: [1]   ลงล่าง
  พิมพ์  
PHP การส่งออกเข้า Ms Excel อย่างง่ายๆ  (อ่าน 2060 ครั้ง)
ไร้คอนเซปต์ *** ออฟไลน์ ออฟไลน์ เพศ: ชาย พลังสะสม: 1669
มกราคม 15, 2008, 11:51:56 AM
ผลงาน: 193
2t
แฟนคลับ
ไร้คอนเซปต์
***

ผลงาน: 193
ออฟไลน์ ออฟไลน์

เพศ: ชาย
พลังสะสม: 1669

เว็บไซต์
« เมื่อ: มกราคม 15, 2008, 11:51:56 AM »
การส่งออกเข้า Ms Excel อย่างง่ายๆ

การส่งออกเข้า Ms Excel จะส่งออกในรูปแบบของไฟล์ .csv และสามารถเปิดด้วย โปรแกรม Microsoft Excel มาดูตัวอย่าง code กันเลย

1.เริ่มแรกให้สร้าง ฐานข้อมูลชื่อ mydatabase รายละเอียดของตาราง

// สร้างตาราง ชื่อ testing

CREATE TABLE `testing` (
`id` int(3) NOT NULL auto_increment,
`question` varchar(100) NOT NULL default '',
`c1` varchar(100) NOT NULL default '',
`c2` varchar(100) NOT NULL default '',
`c3` varchar(100) NOT NULL default '',
`c4` varchar(100) NOT NULL default '',
`answer` int(1) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=11 ;

#
// แทรกข้อมูลลงตาราง testing
# dump ตาราง `testing`
#

INSERT INTO `testing` VALUES (1, 'ข้อที่ 1', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 1);
INSERT INTO `testing` VALUES (2, 'ข้อที่ 2', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 2);
INSERT INTO `testing` VALUES (3, 'ข้อที่ 3', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 3);
INSERT INTO `testing` VALUES (4, 'ข้อที่ 4', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 4);
INSERT INTO `testing` VALUES (5, 'ข้อที่ 5', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 4);
INSERT INTO `testing` VALUES (6, 'ข้อที่ 6', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 3);
INSERT INTO `testing` VALUES (7, 'ข้อที่ 7', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 2);
INSERT INTO `testing` VALUES (8, 'ข้อที่ 8', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 1);
INSERT INTO `testing` VALUES (9, 'ข้อที่ 9', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 2);
INSERT INTO `testing` VALUES (10, 'ข้อที่ 10', 'ตัวเลือกที่ 1', 'ตัวเลือกที่ 2', 'ตัวเลือกที่ 3', 'ตัวเลือกที่ 4', 3);

2.สร้างไฟล์ sample1.php โดยพิมพ์ code ตามด้านล่างนี้

<?
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename="testing.csv"');

$host="localhost";
$username="";
$password="";
$db="mydatabase";
$tb="testing";
mysql_connect( $host,$username,$password) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");

echo "ข้อที่,คำถาม,ตัวเลือกที่ 1,ตัวเลือกที่ 2,ตัวเลือกที่ 3,ตัวเลือกที่ 4,ตัวเลือกที่ถูก,\n";
$sql = "select * from $tb";
$dbquery = mysql_query($sql);
$num_rows = mysql_num_rows($dbquery);

$i=0;
while ($i < $num_rows)
{
$result= mysql_fetch_array($dbquery);

echo "$result[id],$result[question],$result[c1],$result[c2],$result[c3],$result[c4],$result[answer],\n";

$i++;
}
?>


เครดิต เว็บ ไทยดีดี

ผ่านพ้นคืนวันที่ทำเพื่อชาติ
อีกกี่วันคืนจะได้ทำเพื่อตัวและหัวใจ
ขั้น 3 : ซุปเปอร์สตาร์ *** ออฟไลน์ ออฟไลน์ เพศ: ชาย พลังสะสม: 102
มกราคม 18, 2008, 10:46:54 AM
ผลงาน: 25
apache13
แฟนคลับ
ขั้น 3 : ซุปเปอร์สตาร์
***

ผลงาน: 25
ออฟไลน์ ออฟไลน์

เพศ: ชาย
พลังสะสม: 102

น้องหมา

เว็บไซต์
« ตอบ #1 เมื่อ: มกราคม 18, 2008, 10:46:54 AM »
ขอเสริมเทคนิคอีกนิดแล้วกันนะครับ
ถ้าสมมุติข้อมูลเรามี , อยู่จะทำอย่างไร .....
เช่นเราต้องการให้มันแสดง หนึ่งแสนในช่องนั้นโดยมี , คั่นตำแหน่งด้วย

แนะนำให้ใส่ "100,000" ไว้แล้วมันจะตีความว่าไม่ต้องตัด , ในช่องนั้นครับ

อ้างอิงจาก
http://en.wikipedia.org/wiki/Comma-separated_values
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

Powered by MySQL Powered by PHP Valid XHTML 1.0! Valid CSS!