• RSS
  • Facebook NIIT
  • Twitter
Viết bởi Marketing Online Master

 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');


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