PHP AJAX Poll

Giới thiệu về PHP AJAX Poll

PHP AJAX Poll là một kỹ thuật kết hợp giữa PHP (ngôn ngữ lập trình phía máy chủ) và AJAX (công nghệ cho phép cập nhật phần trang mà không cần tải lại toàn bộ trang). Kỹ thuật này thường được sử dụng để tạo ra các cuộc khảo sát hay bình chọn trực tuyến một cách mượt mà và nhanh chóng.

Các thành phần chính

Để tạo một hệ thống bình chọn với PHP và AJAX, bạn cần có các thành phần sau:

1. **Cơ sở dữ liệu**: Lưu trữ thông tin cuộc khảo sát và kết quả.
2. **PHP file**: Xử lý logic của cuộc khảo sát, bao gồm lưu trữ kết quả và trả về thông tin.
3. **HTML/JavaScript**: Tạo giao diện người dùng và gửi yêu cầu AJAX đến PHP.

Bước 1: Tạo bảng cơ sở dữ liệu

Bạn cần tạo một bảng trong cơ sở dữ liệu để lưu trữ thông tin câu hỏi và kết quả bình chọn. Ví dụ:

CREATE TABLE polls (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    question VARCHAR(255) NOT NULL,
    options TEXT NOT NULL,
    votes TEXT NOT NULL
);

Bước 2: Tạo giao diện HTML

Dưới đây là ví dụ về giao diện cho cuộc khảo sát:

Cuộc khảo sát: Bạn thích ngôn ngữ lập trình nào nhất?

PHP
JavaScript
Python

Bước 3: Viết mã JavaScript cho AJAX

Sử dụng JavaScript để gửi yêu cầu AJAX khi người dùng bình chọn:

document.getElementById('pollForm').onsubmit = function(event) {
    event.preventDefault();

    var formData = new FormData(this);

    fetch('poll.php', {
        method: 'POST',
        body: formData
    })
    .then(response => response.text())
    .then(data => {
        document.getElementById('pollResult').innerHTML = data;
    });
};

Bước 4: Xử lý yêu cầu ở phía PHP

File poll.php sẽ xử lý việc nhận dữ liệu bình chọn và cập nhật cơ sở dữ liệu:

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $option = $_POST['option'];

    // Cập nhật cơ sở dữ liệu với kết quả bình chọn
    // Thực hiện truy vấn SQL để tăng số lượng bình chọn cho lựa chọn tương ứng.

    // Trả về kết quả cập nhật cho người dùng
    echo "Cảm ơn bạn đã bình chọn!";
}

Bước 5: Hiển thị kết quả bình chọn

Bạn có thể cập nhật mã PHP để tra cứu và hiển thị kết quả bình chọn đồng thời khi gửi bình chọn.

$result = // Lấy dữ liệu từ cơ sở dữ liệu
echo "Kết quả bình chọn: " . json_encode($result);

Kết luận

Việc sử dụng PHP và AJAX để tạo ra các cuộc khảo sát tạo ra trải nghiệm người dùng phong phú hơn bằng cách cập nhật nội dung mà không phải tải lại trang. Hy vọng rằng hướng dẫn này giúp bạn hiểu rõ hơn về cách thiết lập một ứng dụng bình chọn trực tuyến đơn giản.