มาขอคำแนะนำเกี่ยวกับระบบขายคูปอง อินเตอร์เน็ต ตามหอพักหน่อยครับ
ตอนนี้ผมได้ร่างๆ ข้อมูลไว้ไม่รู้ว่าจะครบถ้วนหรือเปล่านะครับยังไงรบกวนช่วยชี้แนะแนวทางด้วยครับ
SQL :
CREATE TABLE IF NOT EXISTS `member` (
`id` int(5) NOT NULL auto_increment,
`username` varchar(30) NOT NULL,
`password` varchar(50) NOT NULL,
`email` varchar(30) NOT NULL,
`point` int(5) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE `serial` (
`id` int(10) NOT NULL auto_increment,
`group` int(1) NOT NULL default '1',
`serial_name` varchar(100) character set utf8 collate utf8_unicode_ci NOT NULL,
`serial_amount` int(11) NOT NULL default '1',
`serial_price` int(11) NOT NULL default '1',
`serial_user` varchar(30) NOT NULL,
`serial_pass` varchar(50) NOT NULL,
`serial_active` int(1) NOT NULL default '1',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
จากข้อมูลของ SQL จะมีหน้า Login ของสมาชิกเพื่อทำการกดรับคูปองเข้าใช้งานอินเตอร์เน็ตของหอพัก
ระบบคร่าวๆ สมาชิก Login > กดเลือกซื้อบัตร หักจาก Point ของ TABLE `member` > แล้วระบบจะดึงบัตรที่ยังไม่ได้ขายไปจาก SQL TABLE `serial`
ระบบตรวจสอบ กดซื้อตรวจสอบ Point ถ้ามีพอให้ไปที่สเต็บต่อไป ถ้ามีไม่พอจะแสดงหน้าต่างว่า "เงินไม่พอที่จะซื้อ"
ที่ผมทำไปแล้วคือระบบ Login แต่ปัญหาคือผมไม่มีปัญญาทำระบบ กดซื้อคูปอง ลองทำตามกระทู้ต่างๆ แล้วก็ไม่ได้ซักที เลยอยากจะขอตัวอย่าง Code หน่อยครับ เอาแค่กดซื้อ แล้วโชว์ รหัสคูปองก็พอครับ
อยากได้แนวเป็น Ajax นิดนึง ^^
SQL :
CREATE TABLE IF NOT EXISTS `member` (
`id` int(5) NOT NULL auto_increment,
`username` varchar(30) NOT NULL,
`password` varchar(50) NOT NULL,
`email` varchar(30) NOT NULL,
`point` int(5) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE `serial` (
`id` int(10) NOT NULL auto_increment,
`group` int(1) NOT NULL default '1',
`serial_name` varchar(100) character set utf8 collate utf8_unicode_ci NOT NULL,
`serial_amount` int(11) NOT NULL default '1',
`serial_price` int(11) NOT NULL default '1',
`serial_user` varchar(30) NOT NULL,
`serial_pass` varchar(50) NOT NULL,
`serial_active` int(1) NOT NULL default '1',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
จากข้อมูลของ SQL จะมีหน้า Login ของสมาชิกเพื่อทำการกดรับคูปองเข้าใช้งานอินเตอร์เน็ตของหอพัก
ระบบคร่าวๆ สมาชิก Login > กดเลือกซื้อบัตร หักจาก Point ของ TABLE `member` > แล้วระบบจะดึงบัตรที่ยังไม่ได้ขายไปจาก SQL TABLE `serial`
ระบบตรวจสอบ กดซื้อตรวจสอบ Point ถ้ามีพอให้ไปที่สเต็บต่อไป ถ้ามีไม่พอจะแสดงหน้าต่างว่า "เงินไม่พอที่จะซื้อ"
ที่ผมทำไปแล้วคือระบบ Login แต่ปัญหาคือผมไม่มีปัญญาทำระบบ กดซื้อคูปอง ลองทำตามกระทู้ต่างๆ แล้วก็ไม่ได้ซักที เลยอยากจะขอตัวอย่าง Code หน่อยครับ เอาแค่กดซื้อ แล้วโชว์ รหัสคูปองก็พอครับ
อยากได้แนวเป็น Ajax นิดนึง ^^
ผมให้ได้แค่แนวคิดนะ ตัวอย่างไม่มี
อย่างแรก สมมุติว่ารู้จัก Ajax เขียนคำสั่งเป็น ขั้นตอนแรกคือส่งค่าไปเลยครับ ในสิ่งที่จะทำ เช่น กดปุ่มซื้อคูปอง ก็ส่งค่าคูปองไปด้วย Ajax ที่ไฟล์ PHP ที่ส่งไป ก็ทำ 2 อย่าง
1 ตรวจสอบ การ login ถ้ายังไม่ได้ login ก็ให้ echo ข้อความบอกว่าไม่ได้ login
2 ตรวจสอบ id ของ คูปอง ว่าค่า่ที่สางมา มี อยู่จริง หรือจะตรวจสอบเพิ่มเติมก้ได้ ว่า user ที่ login มีสิทธิหรือเปล่า
ถ้าทั้งสองข้อข้างต้นผ่าน นั่นหมายความว่า เขาสามารถซื่อคูปองได้ ก็ให้เขียนคำสั่งซื้อคูปองไปเลย
ถ้าขั้นตอนทุกอย่างจบหมด ก็ให้จบไปเลย ไม่ต้องสั่งให้ echo อะไร
ถ้าทำความเข้าใจกับสิ่งที่ผมเขียนด้านบน จะเห็นได้ไว้ มีสถานการณ์ 2 อย่างเกิดขึ้น คือ
1.มีข้อความ echo ออกมา นั่หมายความว่ามันเกิดข้อผิดพลาด
2.ไม่มีข้อความใดๆคืนมา จะหมายความว่า สามารถดำเนินการได้จนเสร็จสิ้น
เราสามารถรัยค่าข้างต้นได้ที่ responseText ที่ส่งกลับจาก Ajax ซึ่งจะทำให้เรารู้ว่างานที่สั่งสำเร็จหรือไม่
เดะลองดูครับ ตรวจสอบการ Login ทำได้แล้วเหลือแค่ฟังชั่นกด ซื้อคูปอง แล้วโชว์รหัส ตรงนี้ลองนั่งทำนานละ มะเข้าใจซักที