Ir para conteúdo
Fórum Script Brasil
  • 0

A agenda de entrevista de Maxsuel Rodrigues


Frank K Hosaka

Pergunta

O Maxsuel publicou uma agenda de entrevista na forma de ícones, onde vermelho simboliza que venceu o prazo para entrevistar o novo colaborador, e verde significa que o rapaz foi entrevistado. A ideia é bacana, e eu montei um arquivo index.php para executar o trabalho:

mysql
CREATE TABLE `novo_colaborador_portal` (
  `id` int(10) unsigned zerofill NOT NULL AUTO_INCREMENT,
  `data` date NOT NULL,
  `nome` varchar(50) DEFAULT NULL,
  `funcao` varchar(30) DEFAULT NULL,
  `diaA` int DEFAULT NULL,
  `diaB` int DEFAULT NULL,
  `diaC` int DEFAULT NULL,
  `diaD` int DEFAULT NULL,
  `diaE` int DEFAULT NULL,
  `diaF` int DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

index.php
<?php
$dbname="laravel"; //"atacadao";
$usuario="root"; //filial148";
$password="";//"senhafilial";
$conexao = mysqli_connect("localhost", $usuario, $password, $dbname);
if(!$conexao){
	echo "Error: Sem acesso ao MySQL." . PHP_EOL;
	echo "Debugando o error: " . mysqli_connect_errno() . PHP_EOL;
	echo "Debugando o error: " . mysqli_connect_error() . PHP_EOL;
	exit;}
function entrevista($agenda,$id,$campo){
	if($agenda=="1") {
		echo "<a href=?desativa=$id&campo=$campo><i style=color:green>♥</i></a>";}
	if($agenda=="0"){
		echo "<a href=?ativa=$id&campo=$campo><i style=color:red>♥</i></a>";}}
if (isset($_GET['excluir'])) {
	$id = $_GET['excluir'];
	$sql = "delete FROM novo_colaborador_portal WHERE id=$id";
	$result = $conexao->query($sql);
	header("Location: index.php");}
if (isset($_POST['salvar'])) {
	$data=$_POST['data'];
	$nome=$_POST['nome'];
	$funcao=$_POST['funcao'];
	mysqli_query($conexao, "INSERT INTO novo_colaborador_portal
		(data, nome, funcao, diaA, diaB, diaC, diaD, diaE, diaF)
		VALUES ('$data', '$nome', '$funcao',0,0,0,0,0,0)");
	header('location:index.php');}
if (isset($_GET['desativa'])){
    $id=$_GET['desativa'];
	$campo=$_GET['campo'];
    $sql="UPDATE novo_colaborador_portal SET $campo=0 WHERE id=$id";
    mysqli_query($conexao,$sql);
    header("location:index.php");}
if (isset($_GET['ativa'])){
    $id=$_GET['ativa'];
	$campo=$_GET['campo'];
	$sql="UPDATE novo_colaborador_portal SET $campo=1 WHERE id=$id";
    mysqli_query($conexao,$sql);    
	header("Location: index.php");}
?>
<title>Teste - Novo Colaborador</title>
<!-- INICIO NOVO COLABORADOR -->
<div style='width:500px;margin:0 auto'>
<div><h3 onclick=cadastro.style.display='block'>Novo Colaborador</h3></div>
<div id=cadastro style=display:none>
<form method=post>
	<h3>Preencha as informações abaixo para cadastrar o novo colaborador.</h3>
	<table>
	<tr><td>Admissão:<td><input type="date" name="data" id="data" required>
	<tr><td>Nome:<td><input name="nome" id="nome" required>
	<tr><td>Função:<td><input name="funcao" id="funcao" required>
	<tr><td><td><button type=submit name=salvar>Salvar</button></table>
</form>
</div>
<table>
<th>Dias<th>Data<th nowrap>Nome do Colaborador<th>Função
<th>15<br>Dias<th>30<br>Dias<th>45<br>Dias
<th>60<br>Dias<th>75<br>Dias<th>90<br>Dias<th>
<?php				
$sql = "SELECT * FROM novo_colaborador_portal ORDER BY id ASC";
$result = $conexao->query($sql);
while ($user_data = mysqli_fetch_assoc($result)) {
	// pega as datas do banco e data atual e transforma em DIA-MES-ANO
	$dataInput = date('d/m/Y', strtotime($user_data['data']));						
	$dataHoje = date('d/m/Y');
	// transforma a data do formato BR para o formato americano, ANO-MES-DIA
	$data1 = implode('-', array_reverse(explode('/', $dataInput)));
	$data2 = implode('-', array_reverse(explode('/', $dataHoje)));
	// converte as datas para o formato timestamp
	$d1 = strtotime($data1); 
	$d2 = strtotime($data2);
	// verifica a diferença em segundos entre as duas datas e divide pelo número de segundos que um dia possui
	$dataFinal = ($d2 - $d1) / 86400;
	$id=$user_data['id']; ?>
    <tr><td><?=$dataFinal?>
	<td><?php echo date('d/m/y', strtotime($user_data['data'])) ?>
	<td><?=$user_data['nome']?>
	<td><?=$user_data['funcao']?>
	<?php
	echo "<td align=center>";
	if ($dataFinal >= 15) {
		$agenda=$user_data['diaA'];
		entrevista($agenda,$id,"diaA");}
		else {echo "<i>♠</i>";} 
	echo "<td align=center>";			
	if ($dataFinal >= 30) {
		$agenda=$user_data['diaB'];
		entrevista($agenda,$id,"diaB");}
		else {echo "<i>♠</i>";}
	echo "<td align=center>";
	if ($dataFinal >= 45) {
		$agenda=$user_data['diaC'];
		entrevista($agenda,$id,"diaC");}
		else {echo "<i>♠</i>";}
	echo "<td align=center>";
	if ($dataFinal >= 60) {
		$agenda=$user_data['diaD'];
		entrevista($agenda,$id,"diaD");}
		else {echo "<i>♠</i>";}
	echo "<td align=center>";
	if ($dataFinal >= 75) {
		$agenda=$user_data['diaE'];
		entrevista($agenda,$id,"diaE");}
		else {echo "<i>♠</i>";}
	echo "<td align=center>";
	if ($dataFinal >= 90) {
		$agenda=$user_data['diaF'];
		entrevista($agenda,$id,"diaF");}
		else {echo "<i>♠</i>";}
	echo "<td><a href=?excluir=$id 
		onclick='return confirm(`Deseja mesmo excluir este colaborador?`);' 
		title='Clique para excluir o colaborador'>".'Excluir'."</a>";}

 

Captura de tela 2023-10-26 060605.png

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Nessa nova listagem, a estrutura da tabela foi alterada, ao invés de 6 campos binários, ele foi reduzido a apenas um campo binário.

mysql
CREATE TABLE `novo_colaborador_portal` (
  `id` int(10) unsigned zerofill NOT NULL AUTO_INCREMENT,
  `data` date NOT NULL,
  `nome` varchar(50) DEFAULT NULL,
  `funcao` varchar(30) DEFAULT NULL,
  `entrevista` varchar(6) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

index.php
<?php
$conexao = mysqli_connect("localhost", "root","","laravel");
if (isset($_GET['excluir'])) {
	$id = $_GET['excluir'];
	$conexao->query("delete from novo_colaborador_portal where id=$id");
	header("Location: index.php");}
if (isset($_POST['salvar'])) {
	$data=$_POST['data'];
	$nome=$_POST['nome'];
	$funcao=$_POST['funcao'];
	$conexao->query("insert into novo_colaborador_portal
		(data, nome, funcao, entrevista)
		values ('$data', '$nome', '$funcao','000000')");
	header('location:index.php');}
if (isset($_GET['atualiza'])){
    $id=$_GET['atualiza'];
	$entrevista=$_GET['entrevista'];
	$posicao=$_GET['posicao'];
	$valor=$_GET['valor'];
	$entrevista=substr_replace($entrevista,$valor,$posicao,1);
    $conexao->query("update novo_colaborador_portal set entrevista='$entrevista' 
		where id=$id");
    header("location:index.php");}
?>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" 
	rel="stylesheet">
<div class='w-50 m-auto mt-2'>
<h3 class='btn btn-primary' onclick=cadastro.style.display='block'>Novo Colaborador</h3>
<div id=cadastro style=display:none>
<form method=post>
	<h5>Preencha as informações abaixo para cadastrar o novo colaborador.</h5>
	<table class='table table-striped'>
	<tr><td>Admissão:<td><input type=date name=data required>
	<tr><td>Nome:<td><input name=nome required>
	<tr><td>Função:<td><input name=funcao required>
	<tr><td><button class='btn btn-primary' onclick=cadastro.style.display='none'>Cancelar</button>
	<td><button class='btn btn-primary' type=submit name=salvar>Salvar</button></table>
</form>
</div>
<table class='table table-striped'>
<th>Dias<th>Data<th nowrap>Nome do Colaborador<th>Função
<th class=text-center>15<br>Dias<th class=text-center>30<br>Dias
<th class=text-center>45<br>Dias<th class=text-center>60<br>Dias
<th class=text-center>75<br>Dias<th class=text-center>90<br>Dias<th>
<?php				
$sql = "SELECT * FROM novo_colaborador_portal ORDER BY id ASC";
$result = $conexao->query($sql);
while ($user_data = mysqli_fetch_assoc($result)) {
	$dataAdmissao = strtotime($user_data['data']);						
	$dataHoje = strtotime(date('Y-m-d'));
	$contaDias = ($dataHoje-$dataAdmissao) / 86400;
	$id=$user_data['id']; 
	$entrevista=$user_data['entrevista']; ?>
    <tr><td><?=$contaDias?>
	<td><?=date('d/m/y', strtotime($user_data['data']))?>
	<td><?=$user_data['nome']?>
	<td><?=$user_data['funcao']?>
	<?php
	for($dias=15;$dias<=90;$dias=$dias+15){
		echo "<td class=text-center>";
		if ($contaDias >= $dias) {
			$entrevista=$user_data['entrevista'];
			$posicao=$dias/15-1;
	    	if($entrevista[$posicao]=="1") {
				echo "<a class='link-underline-light link-success'
				href=?atualiza=$id&entrevista=$entrevista&posicao=$posicao&valor=0>
				♥</a>";}
			if($entrevista[$posicao]=="0"){
				echo "<a class='link-underline-light link-danger'
				href=?atualiza=$id&entrevista=$entrevista&posicao=$posicao&valor=1>
				♥</a>";}}
		else {echo "<i>♠</i>";}}
	echo "<td><a href=?excluir=$id 
		onclick='confirm(`Deseja mesmo excluir este colaborador?`);' 
		title='Clique para excluir o colaborador'>Excluir</a>";}

 

Captura de tela 2023-10-26 170358.png

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...