Jump to content
Fórum Script Brasil
  • 0

A agenda de entrevista de Maxsuel Rodrigues


Frank K Hosaka

Question

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

Edited by Frank K Hosaka
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.8k
×
×
  • Create New...