Lista de Tarefas - Gerenciador de Projeto Simples
Publicado por Rodrigo Urbinati Maia 26/02/2007 (última atualização em 03/12/2023)
[ Hits: 20.788 ]
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>
Graficos 3D simples e configuraveis com PHP
Transformar datas para gravar no banco de dados (MySQL, Postgres e outros)
Converter String para Maiúsculas
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Linux é a solução para o fim do Windows10? (3)
Assinador JNLP do Site Portal da Nota Fiscal Eletrônica (0)
Programa fora de escala na tela do pc (29)









