Xin lỗi anh trai nhưng từ những gì tôi đã được đọc những gì bạn đang đề xuất là không thể. Tôi không nghĩ rằng bạn có thể tạo sự kiện với trình kích hoạt. Điều đó thật đáng tiếc vì nó cũng hữu ích cho tôi.
Tuy nhiên, sẽ dễ dàng hơn để tạo sự kiện khi hàng cho mỗi trận chiến được tạo. Hear là một ví dụ về một số mã mà tôi tìm thấy từ một người đàn ông giải thích cách các sự kiện hoạt động.
<?php
// establish database connection and filter incoming data
// ...
// insert blog post with pending status, get id assigned to post
$query = "INSERT INTO blog_posts (id, title, post_text, status)
VALUES (NULL, :title, :postText, 'pending')";
$stm = $db->prepare($query);
$stm->execute(array(":title" => $title, ":postText" => $text));
$id = $db->lastInsertId();
// is this a future post?
if (isset($_POST["schedule"], $_POST["time"])) {
$scheduleDate = strtotime($_POST["time"]);
$query = "CREATE EVENT publish_:id
ON SCHEDULE AT FROM_UNIXTIME(:scheduleDate)
DO
BEGIN
UPDATE blog_posts SET status = 'published' WHERE id = :id;
END";
$stm = $db->prepare($query);
$stm->execute(array(":id" => $id, ":scheduleDate" => $scheduleDate));
}
// this is not a future post, publish now
else {
$query = "UPDATE blog_posts SET status = 'published' WHERE id = :id";
$stm = $db->prepare($query);
$stm->execute(array(":id" => $id));
}
Vì vậy, về cơ bản hãy tạo sự kiện khi bạn thêm trận chiến vào bảng.