|
|
|
เว็บบอร์ด (sql) ให้เรียงกระทู้ตามการอัพเดทล่าสุด ทำยังไงหนอ |
|
|
|
|
|
|
|
พอจะแนะคอนเส็ปให้หน่อยได้มั้ยคะ
ตารางก็ตามนี้ค่ะ
Code (PHP)
CREATE TABLE `webboard` (
`QuestionID` int(5) unsigned zerofill NOT NULL auto_increment,
`CreateDate` datetime NOT NULL,
`Question` varchar(255) NOT NULL,
`Details` text NOT NULL,
`Name` varchar(50) NOT NULL,
`View` int(5) NOT NULL,
`Reply` int(5) NOT NULL,
PRIMARY KEY (`QuestionID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE `reply` (
`ReplyID` int(5) unsigned zerofill NOT NULL auto_increment,
`QuestionID` int(5) unsigned zerofill NOT NULL,
`CreateDate` datetime NOT NULL,
`Details` text NOT NULL,
`Name` varchar(50) NOT NULL,
PRIMARY KEY (`ReplyID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
คือมันมีตารางที่เป็นวันเวลา 2 ตาราง ไม่รู้จะเอามาเทียบกันยังไง
ถ้ากระทู้ที่มีคนตอบก็จะเทียบเวลาจากตาราง reply ส่วน กระทู้ที่ยังไม่มีคนตอบ ก็ต้องเอาเวลาจากตาราง webboard อย่างงี้รึป่่าวคะ
แล้วการเขียนโค้ดต้องเทียบกันยังไง ไม่เข้าใจจริงๆ ค่ะ ช่วยแนะนำหน่อยนะคะ ตีไม่ออกจริงๆ
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2013-05-24 00:38:34 |
By :
กบนอกกะลา |
View :
918 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้อง "เพิ่ม" อีกคอลัมน์นึง เข้าไปในตารางกระทู้ครับ
เป็นชนิด DATETIME เหมือนกับ CreateDate สมมติว่าชื่อ LastUpdated
และเมื่อสร้างกระทู้ก็ให้มันมีค่าเหมือนกับ CreateDate
แต่พอมี reply เพิ่มเข้ามา ก็ให้ UPDATE ตารางกระทู้
โดยเซ็ตค่า LastUpdated ของตารางกระทู้ ให้เท่ากับ CreateDate ของ Reply ล่าสุดครับ
แล้วเวลาเรียงกระทู้ ก็ให้เรียงจาก LastUpdated ครับ
Code (SQL)
SELECT * FROM `webboard` ORDER BY `LastUpdated` DESC
|
|
|
|
|
Date :
2013-05-24 01:10:17 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|