Lista de Tarefas - Gerenciador de Projeto Simples
Publicado por Rodrigo Urbinati Maia 26/02/2007 (última atualização em 03/12/2023)
[ Hits: 20.327 ]
Download 1701194011.tarefas.php (versão 2)
Coloque as tarefas e marque cada uma como realizada conforme sua realização.
Mostra a porcentagem de conclusão do projeto e listagem de tarefas pendentes e realizadas.
Muito fácil de instalar, bastando configurar os dados de conexão com o banco de dados. As instruções estão no topo do script.
Versão 2 - Enviado por Alann Jaksnon em 28/11/2023
Changelog: Troca de mysql para mysqli
Edição e exclusão de tarefas
Listagem em forma de tabela
Download 1701194011.tarefas.php
<?php /** * Script para controlar tarefas a serem realizadas em um projeto. * Script desenvolvido por Rodrigo Urbinati Maia (rodurma@yahoo.com.br) * * Como instalar : * - Crie um banco de dados no seu mysql e o nome desse banco de dados voce coloca na * variável $config['db']. * - Configure o host, usuário e senha do seu mysql nas variáveis $config['...']. */ # configuraçoes // Banco de dados // coloque todos os dados para conexao com o mysql. $config['host'] = "localhost"; $config['user'] = "root"; $config['pass'] = "1234"; $config['db'] = "trabalho"; // projeto // nome do projeto e nome da tabela que será criada no mysql caso nao exista. $config['projeto'] = "Nome do Projeto"; $config['tabela'] = "complemento"; // conectando com o banco de dados e escolhendo o banco de dados. $base = mysql_connect($config['host'], $config['user'], $config['pass']) or die("Nao conseguiu conectar."); $db = mysql_select_db($config['db'], $base) or die("Erro ao selecionar o banco de dados."); // inicializando variáveis $existe_tabela = false; $erro_ = false; // verificando se a tabela existe $tabelas = mysql_list_tables($config['db']) or die("Nao conseguiu lsitar as tabelas."); $n_tabelas = count($tabelas); if ($n_tabelas > 0){ while ($row = mysql_fetch_row($tabelas)) { if ($row[0] == $config['tabela']){ $existe_tabela = true; } } } // se a tabela nao existir entao cria. if ($existe_tabela == false){ $sql_cria_tabela = "CREATE TABLE `".$config['tabela']."` ( `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `nome` TEXT NOT NULL , `status` CHAR( 1 ) NOT NULL , `posicao` DOUBLE( 10, 5 ) NOT NULL , `data_hora` BIGINT( 20 ) NOT NULL ) TYPE = MYISAM"; $exe_cria_tabela = mysql_query($sql_cria_tabela, $base); } // rotinas if (isset($_GET['ac'])){ // adicionando tarefa if ($_GET['ac'] == "add"){ // validando if (isset($_POST['tarefa'])){ if (empty($_POST['tarefa'])){ $erro_ = true; } } else { $erro_ = true; } if (isset($_POST['posicao'])){ if (empty($_POST['posicao']) || !is_numeric($_POST['posicao'])){ $erro_ = true; } } else { $erro_ = true; } // tudo ok if ($erro_ == false){ $tarefa = addslashes(htmlentities($_POST['tarefa'])); $posicao = addslashes(htmlentities($_POST['posicao'])); $data_hora = time(); $sql_add_tarefa = "INSERT INTO `".$config['tabela']."` (`nome` , `status` , `posicao` , `data_hora` ) VALUES ( '$tarefa', 'N', '$posicao', '$data_hora' )"; $exe_add_tarefa = mysql_query($sql_add_tarefa, $base) or die("Erro ao adiconar tarefa."); } } // marcando como realizada if ($_GET['ac'] == 'mm'){ //validando if (isset($_GET['id'])){ if (empty($_GET['id']) || !is_numeric($_GET['id'])){ $erro_ = true; } } else { $erro_ = true; } // tudo ok if ($erro_ == false){ $id = addslashes(htmlentities($_GET['id'])); $sql_altera = "UPDATE ".$config['tabela']." SET status = 'S' WHERE id = '$id'"; $exe_altera = mysql_query($sql_altera, $base) or die("Erro ao marcar uma tarefa como realizada."); } } } // pegando o total de tarefas cadastradas $sql_total_tarefa = "SELECT COUNT(*) AS n_tarefas FROM ".$config['tabela']; $exe_total_tarefa = mysql_query($sql_total_tarefa, $base); $reg_total_tarefa = mysql_fetch_array($exe_total_tarefa, MYSQL_ASSOC); // verificando o total de tarefas realizadas $sql_tarefa_r = "SELECT COUNT(*) AS tarefas_r FROM ".$config['tabela']." WHERE status = 'S'"; $exe_tarefa_r = mysql_query($sql_tarefa_r, $base); $reg_tarefa_r = mysql_fetch_array($exe_tarefa_r, MYSQL_ASSOC); // calculando a porcentagem do projeto que já está realizado if ($reg_tarefa_r['tarefas_r'] == 0){ $porcentagem_projeto = 0; } else { $porcentagem_projeto = number_format((($reg_tarefa_r['tarefas_r'] * 100) / $reg_total_tarefa['n_tarefas']), 2, ",",""); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Projeto <?=$config['projeto']?></title> </head> <body> <h1>Projeto <?=$config['projeto']?> (<?=$porcentagem_projeto?> %)</h1> <hr /> <? // mostrando erro do formulário caso exista. if (isset($_POST['tarefa']) && $erro_ == true){ echo "Erro em adicionar tarefa. Preencha todo o formulário corretamente."; } ?> <form action="<?=$_SERVER['PHP_SELF']?>?ac=add" method="post"> Tarefa <input type="text" name="tarefa" size="50" /> Posição <input type="text" name="posicao" size="5" maxlength="10" /> <input type="submit" value="Adicionar Tarefa" /> </form> <h3>Tarefas Pendentes</h3> <ul> <?php // listando as tarefas pendentes $sql_lista_tarefa = "SELECT * FROM ".$config['tabela']." WHERE status = 'N' ORDER BY posicao ASC"; $exe_lista_tarefa = mysql_query($sql_lista_tarefa, $base) or die("Erro ao listar tarefas pendentes."); $num_lista_tarefa = mysql_num_rows($exe_lista_tarefa); if ($num_lista_tarefa > 0){ while ($reg_lista_tarefa = mysql_fetch_array($exe_lista_tarefa, MYSQL_ASSOC)){ ?> <li><?=stripslashes($reg_lista_tarefa['nome'])?> <a href="<?=$_SERVER['PHP_SELF']?>?ac=mm&id=<?=$reg_lista_tarefa['id']?>">[Realizado]</a></li> <?php } } ?> </ul> <h3>Tarefas Realizadas</h3> <ul> <?php // listando as tarefas já realizadas $sql_lista_re = "SELECT * FROM ".$config['tabela']." WHERE status = 'S' ORDER BY posicao ASC"; $exe_lista_re = mysql_query($sql_lista_re, $base) or die("Erro ao listar tarefas pendentes."); $num_lista_re = mysql_num_rows($exe_lista_re); if ($num_lista_re > 0){ while ($reg_lista_re = mysql_fetch_array($exe_lista_re, MYSQL_ASSOC)){ ?> <li><?=stripslashes($reg_lista_re['nome'])?></li> <?php } } ?> </ul> </body> </html>
Criando um menu de paginação de resultados com algumas funcionalidades
Script que efetua cálculos estatísticos
funcões para conversao de uma string
Converte para maiúsculas a primeira letra de cada palavra
Formatar CPF e CNPJ para formato user friendly
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
como ativo o touchscreen no meu chromeos hp pro c640? (3)
Não consigo baixar Minecraft (3)
Descoberta de Rede [RESOLVIDO] (8)
Adaptador USB WiFi5 DualBand 1300 WiFI AC1300 (Realtek Semiconductor C... (0)
Erro ao iniciar Ubuntu 24.04.1 LTS - Management Owner Key - MoK (5)