Aula 13: Listando Tarefas com o Método getAllTasks()

Por: Nerd Toolkit Postado em: Outubro 21, 2024 Visto por: 389

1. Revisando a Classe Task

Anteriormente, adicionamos o método createTask() para inserir novas tarefas no banco de dados. Agora, o próximo passo é listar essas tarefas de forma organizada na interface do usuário. Para isso, vamos criar o método getAllTasks().


2. Adicionando o Método getAllTasks()

Vamos adicionar o método que vai obter todas as tarefas do banco de dados e retorná-las para exibição.

Passo 1: Implementando o Método na Classe Task

No arquivo Task.php, adicione o seguinte código:

public function getAllTasks() {
    // Query para buscar todas as tarefas
    $query = "SELECT id, name, description, status FROM " . $this->table_name . " ORDER BY id DESC";
    // Preparar a consulta SQL
    $stmt = $this->conn->prepare($query);
    // Executar a consulta
    $stmt->execute();
    // Obter o resultado
    return $stmt->get_result();
}

3. Explicação do Método

  • Query de Seleção: A consulta SQL seleciona os campos id, name, description e status da tabela tasks, organizando as tarefas em ordem decrescente de id (para que as tarefas mais recentes apareçam primeiro).
  • Preparação e Execução: Utilizamos prepare() e execute() para executar a consulta de forma segura, prevenindo injeção de SQL.
  • Retorno do Resultado: O método retorna o resultado da consulta com todas as tarefas encontradas no banco de dados.

4. Atualizando a Página tasks.php para Exibir as Tarefas

Agora, vamos atualizar o arquivo tasks.php para listar as tarefas usando o método getAllTasks().

<?php
require_once 'classes/Database.php';
require_once 'classes/Task.php';
$database = new Database();
$db = $database->getConnection();
$task = new Task($db);
// Processando o envio do formulário para criar nova tarefa
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['create'])) {
    $task->name = $_POST['name'];
    $task->description = $_POST['description'];
    $task->status = $_POST['status'];
    if ($task->createTask()) {
        echo "Tarefa criada com sucesso!";
    } else {
        echo "Erro ao criar tarefa.";
    }
}
// Obtendo todas as tarefas
$tarefas = $task->getAllTasks();
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Gerenciador de Tarefas</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
    <div class="container mt-5">
        <h2>Gerenciador de Tarefas</h2>
        <!-- Formulário para criar nova tarefa -->
        <form method="post">
            <div class="form-group">
                <label for="name">Nome da Tarefa</label>
                <input type="text" name="name" class="form-control" required>
            </div>
            <div class="form-group">
                <label for="description">Descrição</label>
                <textarea name="description" class="form-control" required></textarea>
            </div>
            <div class="form-group">
                <label for="status">Status</label>
                <input type="text" name="status" class="form-control" required>
            </div>
            <button type="submit" name="create" class="btn btn-primary">Criar Tarefa</button>
        </form>
        <!-- Exibindo todas as tarefas -->
        <h3 class="mt-5">Lista de Tarefas</h3>
        <ul class="list-group">
            <?php while ($row = $tarefas->fetch_assoc()): ?>
                <li class="list-group-item">
                    <strong><?php echo $row['name']; ?></strong><br>
                    <?php echo $row['description']; ?><br>
                    <em>Status: <?php echo $row['status']; ?></em>
                </li>
            <?php endwhile; ?>
        </ul>
    </div>
</body>
</html>

5. Testando a Listagem de Tarefas

  1. Acesse a página no navegador.
  2. Verifique se as tarefas estão sendo listadas corretamente.
  3. Insira novas tarefas e veja se elas aparecem imediatamente na lista após a criação.

6. Exercício Prático

  • Tente melhorar a exibição das tarefas usando componentes do Bootstrap, como cartões (cards) ou tabelas para uma visualização mais organizada.
  • Adicione mais tarefas e observe como o sistema as lista em ordem decrescente de criação.

7. Próximos Passos

Agora que conseguimos listar todas as tarefas, vamos avançar para a implementação das funcionalidades de atualização e deleção de tarefas, completando assim o ciclo de CRUD do nosso sistema.

Tags:
#listar tarefas PHP  # método getAllTasks PHP  # exibir tarefas MySQL  # PHP OOP listar tarefas  # tarefas CRUD PHP  # PHP MySQL listar dados  # gerenciamento de tarefas PHP. 

Notícias Relacionadas

Aula 13: Listando Tarefas com o Método getAllTasks()
  Contato
  • support@nerdtoolkit.com.br
Mapa do Site
Mostrar mapa do site
  Sobre

Feito de programadores para programadores.

Este site utiliza cookies. Ao continuar a utilizar este site, você concorda com a nossa utilização de cookies e política de privacidade.
Leia mais Concordo