Trong bài này chúng ta sẽ học :
· Xây dựng đếm số người online : hiển thị hiện tại có bao nhiều người đang thăm viếng website của bạn.
A- Tạo cơ sở dữ liệu+ Ta có 2 bảng , 1 bảng câu hỏi, 1 bảng câu trả lời , 1 câu hỏi có nhiều câu trả lời => quan hệ 2 bảng này là 1-N
+ Tạo bảng câu hỏi
CREATE TABLE `question` (
`qid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`qtitle` varchar(255) NOT NULL,
`qdate` date NOT NULL DEFAULT '0000-00-00',
PRIMARY KEY (`qid`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of question
-- ----------------------------
Thêm vào 2 câu hỏi
INSERT INTO `question` VALUES ('1', 'Ban thay Trang web nay the nao?', '2009-10-10');
INSERT INTO `question` VALUES ('2', 'Ban co muon tro thanh lap trinh vien khong ?', '2009-10-10');
+ Tạo bảng câu trả lời :
CREATE TABLE `answer` (
`aid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`qid` int(10) unsigned NOT NULL,
`atitle` varchar(255) NOT NULL,
`acount` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`aid`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of answer
-- ----------------------------
câu hỏi 1 có 4 câu trả lời , câu hỏi 2 có 3 câu trả lời
INSERT INTO `answer` VALUES ('1', '1', 'Nhin rat dep', '3');
INSERT INTO `answer` VALUES ('2', '1', 'Nhin Dep', '4');
INSERT INTO `answer` VALUES ('3', '1', 'Nhin Cung duoc', '1');
INSERT INTO `answer` VALUES ('4', '1', 'Nhin qua xau', '1');
INSERT INTO `answer` VALUES ('5', '2', 'Rat muon', '0');
INSERT INTO `answer` VALUES ('6', '2', 'Co', '0');
INSERT INTO `answer` VALUES ('7', '2', 'Khong', '0');
INSERT INTO `answer` VALUES ('7', '2', 'Khong', '0');
B- Xây dựng trang bình chọn poll.php
Mục đích hiển thị ra câu hỏi và câu bình chọn cho câu hỏi đó để khách hàng chọn .
Giao diện :
1 - Kết nối cơ sở dữ liệu:
2- Lựa chọn câu hỏi để bình chọn , mặc định là câu hỏi cuối cùng trong bảng .
3- Lẩy các câu trả lời tương ứng với câu hỏi đó trong bảng trả lời và hiển thị ra :
4- Hiển thị các câu trả lời , mỗi 1 câu trả lời có 1lựa chọn checkbox đi cùng . checkbox này có giá trị là aid của câu trả lời đó
5- Khi người dùng kích chọn 1 câu trả lời và chọn button bình chọn , Form sẽ submit đến chính file này và có thêm 1 biến Get : $_GET['questionid'] có chứa 'questionid' của câu hỏi
6- Lấy giá trị 'questionid' của câu hỏi và aid của câu trả lời , cật nhập vào bảng answer với trường account của câu trả lời đó tăng lên 1 .
7- Toàn bộ code của file poll.php như sau:
C- Xây dựng trang kết quả bình chọn result.php
Ta sẽ tạo link từ trang poll.php để sang trang result.php có thêm biến questioned = id của câu hỏi này.
Ta sẽ tạo bằng 2 cách :
+ Cách 1 : tạo siêu liên kết chuyển trang :
+ Cách 2 : sau khi khách hàng bình chọn cho câu hỏi thì sẽ tự động chuyển sang file này .
Ở trang result.php :
Kết nối cơ sở dữ liệu :
Trang này có sẽ hiển thị ra phần trăm các sự lựa chọn khác nhau với câu hỏi này
1- Kết nối cơ sở dữ liệu :
2- Hiển thị ra thông tin của câu hỏi
3- Tính tổng số bình chọn của tất cả các câu trả lời cho câu hỏi này
4- Tính phần trăm bình chọn của từng câu trả lời trên tổng số tất cả các câu trả lời , bằng giá trị của trường account chia cho tổng số bình chọn chung ở trên
5- Toàn bộ code của file này
No comments:
Post a Comment