Przepraszam bracie ale z tego co czytałem to co proponujesz nie jest możliwe. Nie sądzę, że można stworzyć zdarzenie z wyzwalaczem. Co jest kłopotliwe, ponieważ przydałoby się to również dla mnie.
Jednak łatwiej byłoby stworzyć wydarzenie, gdy zostanie utworzony rząd dla każdej bitwy. Hear jest przykładem kodu, który znalazłem od faceta wyjaśniającego, jak działają zdarzenia.
<?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));
}
Więc po prostu stwórz wydarzenie, gdy dodasz bitwę do stołu.