Lista de Tarefas - Gerenciador de Projeto Simples
Publicado por Rodrigo Urbinati Maia 26/02/2007 (última atualização em 03/12/2023)
[ Hits: 20.885 ]
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>
Formatar CPF e CNPJ para formato user friendly
Saber se acesso a aplicação web é feito pela rede interna ou externa
Criando um menu de paginação de resultados com algumas funcionalidades
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Conky, alerta de temperatura alta (5)
Instalação do cosmic no archlinux (0)
Formas seguras de instalar Debian Sid [RESOLVIDO] (14)









