Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: slack+flux
Por U-Neeks
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Rodrigo Urbinati Maia em 26/02/2007    [ 6611 hits ]

Login: redstyle, 181022 pontos

   


Descrição

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.

[ Download: tarefas.php ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

<?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&ccedil;&atilde;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>

Scripts recomendados
   Script Linux recomendado Telefones Públicos da Anatel
   Script Linux recomendado Micro-script confirmar exclusão
   Script Linux recomendado Gráfico de Pizza em PHP
   Script Linux recomendado WShell - Comandos do sistema via web
   Script Linux recomendado Hosting Control

Comentários
Nenhum comentário foi encontrado.

Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.