Como indicar para qual usuário pertence o evento no FullCalendar com PHP


Neste tutorial, será apresentado como atribuir um usuário ao evento no FullCalendar com PHP. 

Primeiramente, será mostrado como criar o campo "Selecionar Usuário" no formulário de cadastrar evento. 

Em seguida, será apresentado como visualizar os dados do usuário relacionado ao evento. 

Por fim, será mostrado como editar o usuário no evento com o FullCalendar.

Download do código fonte desenvolvido na aula: Download

Curso de PHP Developer: Mais Detalhes do Curso

Playlist completa sobre como usar Fullcalendar com PHP: Acessar

Receber as aulas gratuitas do curso de PHP Developer: Acessar


Para começar, é utilizado como base o projeto da aula "Como acrescentar nova coluna no FullCalendar com PHP".

Criado a tabela "users".

CREATE TABLE IF NOT EXISTS `users` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(220) NOT NULL,
  `email` varchar(220) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

INSERT INTO `users` (`id`, `name`, `email`) VALUES
(1, 'Cesar', 'cesar@celke.com.br'),
(2, 'Kelly', 'kelly@celke.com.br'),
(3, 'Jessica', 'jessica@celke.com.br'),
(4, 'Gabrielly', 'gabrielly@celke.com.br');

Na tabela "events", acrescentado a coluna "user_id".

ALTER TABLE `events` ADD `user_id` INT NOT NULL DEFAULT '1' AFTER `obs`;

No arquivo "listar_evento.php", na QUERY responsável por recuperar eventos, foi acrescentada a obtenção de informações do usuário.

// QUERY para recuperar os eventos
$query_events = "SELECT evt.id, evt.title, evt.color, evt.start, evt.end, evt.obs, evt.user_id,
                usr.name, usr.email
                FROM events AS evt
                INNER JOIN users AS usr ON usr.id = evt.user_id";

Acrescentados no array de retorno os elementos "user_id, name e email".

$eventos[] = [
    'id' => $id,
    'title' => $title,
    'color' => $color,
    'start' => $start,
    'end' => $end,
    'obs' => $obs,
    'user_id' => $user_id,
    'name' => $name,
    'email' => $email
];

No arquivo "custom.js", é implementado o envio do conteúdo para o calendário.

document.getElementById("visualizar_user_id").innerText = info.event.extendedProps.user_id;
document.getElementById("visualizar_name").innerText = info.event.extendedProps.name;
document.getElementById("visualizar_email").innerText = info.event.extendedProps.email;

No arquivo "index.php", na janela modal visualizar, foi implementado para apresentar os dados do usuário.

<dt class="col-sm-3">ID do usuário: </dt>
<dd class="col-sm-9" id="visualizar_user_id"></dd>

<dt class="col-sm-3">Nome: </dt>
<dd class="col-sm-9" id="visualizar_name"></dd>

<dt class="col-sm-3">E-mail: </dt>
<dd class="col-sm-9" id="visualizar_email"></dd>

No vídeo, também é apresentado como acrescentar no formulário cadastrar e editar os dados do usuário.

Baixar o código-fonte completo do projeto.

Bom, era isso. Espero que o tutorial tenha sido útil!