Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Vieira E da Silva

Bug no Insert e Select

Recommended Posts

Boa tarde a todos do fórum, tudo bem com vocês?

Tenho um pequeno sistema de atividades diária cujo objetivo é que cada colaborador da empresa cadastre suas atividades, e as mesmas sejam impressa no calendário.

Abaixo vou pontuar o problemas no sistema

  • Ao cadastrar a atividade do colaborador no calendário só é exibido no mesmo quando realiza o cadastro pela segunda vez.

O Projeto está todo documento somente é necessário fazer o acerto para a conclusão do mesmo.

Segue abaixo o código fonte para vocês.

<?php 
/************************************************************************************************************************************
*
* FAZ A CONEXÃO COM O BANCO DE DADOS
*
/***********************************************************************************************************************************/
require_once('Connections/conecta.php'); 

?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form")) {
  $insertSQL = sprintf("INSERT INTO calendario (calendar_data, calendar_responsavel, calendar_cliente, calendar_descricao) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['data'], "text"),
                       GetSQLValueString($_POST['colaboradores'], "text"),
                       GetSQLValueString($_POST['cliente'], "text"),
                       GetSQLValueString($_POST['Job'], "text"));

  mysql_select_db($database_conecta, $conecta);
  $Result1 = mysql_query($insertSQL, $conecta) or die(mysql_error());

  $insertGoTo = "index.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

$maxRows_listRespons = 5;
$pageNum_listRespons = 0;
if (isset($_GET['pageNum_listRespons'])) {
  $pageNum_listRespons = $_GET['pageNum_listRespons'];
}
$startRow_listRespons = $pageNum_listRespons * $maxRows_listRespons;

mysql_select_db($database_conecta, $conecta);
$query_listRespons = "SELECT prof_id, prof_name FROM profissionais";
$query_limit_listRespons = sprintf("%s LIMIT %d, %d", $query_listRespons, $startRow_listRespons, $maxRows_listRespons);
$listRespons = mysql_query($query_limit_listRespons, $conecta) or die(mysql_error());
$row_listRespons = mysql_fetch_assoc($listRespons);

if (isset($_GET['totalRows_listRespons'])) {
  $totalRows_listRespons = $_GET['totalRows_listRespons'];
} else {
  $all_listRespons = mysql_query($query_listRespons);
  $totalRows_listRespons = mysql_num_rows($all_listRespons);
}
$totalPages_listRespons = ceil($totalRows_listRespons/$maxRows_listRespons)-1;

?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Sistema de Jobs - Brandcompany</title>
<link rel="stylesheet" type="text/css" href="style.css">
<style type="text/css" media="screen">
    .abas a.calendar {background: #d71f27; color:#fff; padding: 1%; width: 5%; margin: 0 0.15% 1%; font: normal 16px 'Calibri';}
    <?php
        $verificames = date('m'); 
        echo ".meses ul li .mes".$verificames ."{background:#d71f27; color: #fff;}"
    ?>
</style>
</head>

<body>
	
    <!-- CABEÇALHO DO SITE -->
    <header>
		<h1>Sistema de Jobs</h1>
		<img src="images/logotipo-brandcompany.gif" alt="Brandcompany">
	</header>
	
    
    <div class="funcoes">
	
    	<!-- Abas de Calendário -->
		<div class="abas">
			<a href="index.php" title="Calendário" class="calendar">Calendário</a>
			<a href="novos-jobs.php" title="Novos Jobs" class="newjobs">Novos Jobs</a>
		</div>

		<!-- Botões referene aos meses -->
        <?php
        
		/***************************************************************************************************************
		*
		* É necessário criar uma função que quando ao abrir ao clicar no respectivo vez do ano ele abra o calendário 
		* exibindo os trabalhos realizados e ainda na primeira semana do mês respectivo clicado.
		*
		****************************************************************************************************************/
		
		?>
		<div class="meses">
			<ul>
				<li><a href="" title="Janeiro" class="mes01">JAN</a></li>
				<li><a href="" title="Fevereiro" class="mes02">FEV</a></li>
				<li><a href="" title="Março" class="mes03">MAR</a></li>
				<li><a href="" title="Abril" class="mes04">ABR</a></li>
				<li><a href="" title="Maio" class="mes05">MAI</a></li>
				<li><a href="" title="Junho" class="mes06">JUN</a></li>
				<li><a href="" title="Julho" class="mes07">JUL</a></li>
				<li><a href="" title="Agosto" class="mes08">AGO</a></li>
				<li><a href="" title="Setembro" class="mes09">SET</a></li>
				<li><a href="" title="Outubro" class="mes10">OUT</a></li>
				<li><a href="" title="Novembro" class="mes11">NOV</a></li>
				<li><a href="" title="Dezembro" class="mes12">DEZ</a></li>
			</ul>
		</div>

		<!-- Formulário de atividades diárias -->
		<form name="form" action="<?php echo $editFormAction; ?>" method="POST">
			<input name="id" type="hidden" value="">
            <label>Data<input name="data" type="text" value="/<?php echo date ('m/Y'); ?>" size="8" maxlength="12" placeholder="Data" autofocus></label>
			<label> Responsável
              
                <select name="colaboradores">
                	<!-----------------------------------------------------------------------------------------------------------------
					*
                    * Abaixo encontra-se um Loop que vai imprimir todos os nomes dos colaboradores e os IDs dentro do value do option
                    * Esses dados são puxados da variavél $row_listRespons, cujo na linha 65 faz um SELECT no banco de Dados
                    *
                    ------------------------------------------------------------------------------------------------------------------>
                
                	<?php do { ?>
	                  <option value="<?php echo $row_listRespons['prof_id']; ?>"><?php echo $row_listRespons['prof_name']; ?></option>
      	            <?php } while ($row_listRespons = mysql_fetch_assoc($listRespons)); ?>
                </select>
            </label>
            
			<label>
				Cliente
				<select name="cliente">
					<option value="Banco Sofisa">Banco Sofisa</option>
					<option value="Brandcompany">Brandcompany</option>
					<option value="BV20">BV20</option>
					<option value="Cinelli Adv">Cinelli Adv</option>
					<option value="Cumulus">Cumulus</option>
					<option value="DM Serv">DM Serv</option>
					<option value="Fairline">Fairline</option>
					<option value="Gerir">Gerir</option>
					<option value="HCM">HCM</option>
					<option value="HUGO">HUGO</option>
					<option value="HMI">HMI</option>
					<option value="HUGO">HUGO</option>
					<option value="HUTRIN">HUTRIN</option>
					<option value="HRPP">HRPP</option>
					<option value="Maternidade">Maternidade</option>
					<option value="Ihouse">Ihouse</option>
					<option value="IICS-CEU">IICS-CEU</option>
					<option value="Insights">Insights</option>
					<option value="Law Consulting">Law Consulting</option>
					<option value="Leal Cotrim">Leal Cotrim</option>
					<option value="Salerno">Salerno</option>
					<option value="Sofisa Direto">Sofisa Direto</option>
					<option value="Sunstate Bank">Sunstate Bank</option>
					<option value="Taler">Taler</option>
					<option value="WFaria">WFaria</option>
				</select>		
			</label>
		  <label>Descrição do Job<input type="input" name="Job" value="" placeholder="Digite a descrição do Job realizado" required></label>
			<input type="hidden" name="MM_insert" value="form">
            <input type="submit" name="submit" value="OK" id="btnOk">
      </form>      
     
	<!-----------------------------------------------------------------------------------------------------------------     
    *
    * Formulário para fazer busca do Jobs pelo o nome do Cliente, na pagina search.php tem que exibir os jobs, conforme
    * as datas nos respectivos lugares. 
    *
    ------------------------------------------------------------------------------------------------------------------->
     
    <form name="busca" action="search.php" method="get" id="frmbuscar">
        <label><input name="palavra" id="search" placeholder="Buscar" required></label>
    </form>


	<!-- Cabeçalho do Calenário com título e botões de navegação para avançar as semanas -->
	<div class="controles">
			
            <!--Função para Exibir o mês atual com a tradução do idioma-->
			<h2>
				<?php
				
					/***************************************************************************************************************
					*
					* Abaixo tem um Set Local no formato em Portguês Brasil, e imprime o dentro do H2 o mês por extenso.
					/
					***************************************************************************************************************/
				
					setlocale(LC_ALL, "pt_BR", "ptb");
					echo strftime("%B");
				?>
			</h2>
            
            <!-- CÓDIFICAÇÃO PARA O CALENDARIO SEMANAL -->            
	  		<?php
				$year = (isset($_GET['year'])) ? $_GET['year'] : date("Y");
				$week = (isset($_GET['week'])) ? $_GET['week'] : date('W');
				if($week > 52) {
					$year++;
					$week = 1;
				} elseif($week < 1) {
					$year--;
					$week = 52;
				}
			?>
            
			<div class="nav">
                <a href="<?php echo $_SERVER['PHP_SELF'].'?week='.($week == 52 ? 1 : 1 + $week).'&year='.($week == 52 ? 1 + $year : $year); ?>" title="Proximo">
                    <span class="btn_next">➜</span>
                    <span class="tlinkr">Próximo</span>
                </a>
				<a href="<?php echo $_SERVER['PHP_SELF'].'?week='.($week == 1 ? 52 : $week -1).'&year='.($week == 1 ? $year - 1 : $year); ?>" title="Anterior">
					<span class="btn_back">➜</span>
					<span class="tlinkl">Anterior</span>
				</a>
			</div>
		</div>
	</div>

	<!-- CALENDÁRIO SEMANAL COM TODOS OS RESULTADOS VINDO DO BANCO DE DADOS -->
	<div class="calendario">
			
			<!-- Barra de títulos -->
			<div class="titulos">

				<div class="funcionarios">
					<h3>Responsável</h3>
				</div>

				<?php
				
					if($week < 10) {
				    $week = '0'. $week;
				}
				
				for($day= 1; $day <= 5; $day++) {
				    $d = strtotime($year ."W". $week . $day);

				    echo "<div class='semanal'>"
				    		."<h3>"	.strftime('%a', $d) ." - " .date ('d/m', $d) ."</h3>"
				    	."</div>";
				}
				
				?>
			</div>

			<div class="colaboradores">

                <div class="funcionarios">
				  <h4>Rodrigo Vieira</h4>
				</div>
				
              	<?php
				
					/****************************************************************************************
					* COLABORADOR RODRIGO
					*
					*  Abaixo é criado um Loop para as montar as .divs conforme o loop (For)
					*  Também abaixo encontramos variavéis, que fazem conexão com o banco de dados  
					*  temos também uma Query em SQL cujo objetivo é retornar o valor conforme 
					*  a data cadastrada e o código do colaborador.
					*
					*  Temos uma condição que SE o número de registros for maior que 0 então
					*  imprimir todos os resultados do banco de dados referente a consulta, 
					*  criada. Caso ao contrário preencher com um hífen.
					*
					*  *PROBLEMA APRESENTADO*
					*  Ao inserir um registro no banco de dados ele não exibe na hora que cadastra, 
					*  somente quando faz a segunda inserção: Exemplo se você for cadastrar no dia 25/12
					*  ele não vai aparecer na primeira vez, somente na segunda vez na mesma data
					*  Ou seja só imprime se você for cadastrar na segunda vez na mesma data.
					*					
					****************************************************************************************/
					
					for($day= 1; $day <= 5; $day++) {
						$d = strtotime($year ."W". $week . $day);
						$d = $dtCalendar = date('d/m/Y', $d);
					
						mysql_select_db($database_conecta, $conecta);
						$query_resultRod = "SELECT * FROM calendario WHERE calendar_responsavel = '1' AND calendar_data = '".$d."' ORDER BY calendar_id DESC" ;
						$resultRod = mysql_query($query_resultRod, $conecta) or die(mysql_error());
						$row_resultRod = mysql_fetch_assoc($resultRod);
						$totalRows_resultRod = mysql_num_rows($resultRod);
							echo "<div class='semanal dt".date ('Y-m-d')."'>";
							if ($totalRows_resultRod > 0 ){
								 while ($row_resultRod = mysql_fetch_array($resultRod)) {
									echo "<p>" .$row_resultRod['calendar_cliente'] ." - " .$row_resultRod['calendar_descricao']. "</p> ";
								}
							
							}else{
								echo " - ";
							}
								
							echo "</div>";
						}
					
					?>
			</div>

			<div class="colaboradores">
				<div class="funcionarios">
					<h4>Richard Garcia</h4>
				</div>
                <?php
					
					/****************************************************************************************
					* COLABORADOR RICHARD
					*
					*  Abaixo é criado um Loop para as montar as .divs conforme o loop (For)
					*  Também abaixo encontramos variavéis, que fazem conexão com o banco de dados  
					*  temos também uma Query em SQL cujo objetivo é retornar o valor conforme 
					*  a data cadastrada e o código do colaborador.
					*
					*  Temos uma condição que SE o número de registros for maior que 0 então
					*  imprimir todos os resultados do banco de dados referente a consulta, 
					*  criada. Caso ao contrário preencher com um hífen.
					*
					*  *PROBLEMA APRESENTADO*
					*  Ao inserir um registro no banco de dados ele não exibe na hora que cadastra, 
					*  somente quando faz a segunda inserção: Exemplo se você for cadastrar no dia 25/12
					*  ele não vai aparecer na primeira vez, somente na segunda vez na mesma data
					*  Ou seja só imprime se você for cadastrar na segunda vez na mesma data.
					*					
					****************************************************************************************/
				
					for($day= 1; $day <= 5; $day++) {
						$d = strtotime($year ."W". $week . $day);
						$d = $dtCalendar = date('d/m/Y', $d);
					
						mysql_select_db($database_conecta, $conecta);
						$query_resultRich = "SELECT * FROM calendario WHERE calendar_responsavel = '2' AND calendar_data = '".$dtCalendar."'";
						$resultRich = mysql_query($query_resultRich, $conecta) or die(mysql_error());
						$row_resultRich = mysql_fetch_assoc($resultRich);
						$totalRows_resultRich = mysql_num_rows($resultRich);					
					
						echo "<div class='semanal dt".date ('Y-m-d')."'>";
						if ($totalRows_resultRich > 0){
							while ($row_resultRich = mysql_fetch_assoc($resultRich)) {
				    			echo "<p>" .$row_resultRich['calendar_cliente'] ." - " .$row_resultRich['calendar_descricao']. "</p> ";
							}
							
							}else{
								echo " - ";
							}
								
							echo "</div>";
						}					
						
				?>
			</div>

			<div class="colaboradores">
				<div class="funcionarios">
					<h4>Regiane Guzzon</h4>
				</div>
                <?php
				
					/****************************************************************************************
					* COLABORADOR REGIANE
					*
					*  Abaixo é criado um Loop para as montar as .divs conforme o loop (For)
					*  Também abaixo encontramos variavéis, que fazem conexão com o banco de dados  
					*  temos também uma Query em SQL cujo objetivo é retornar o valor conforme 
					*  a data cadastrada e o código do colaborador.
					*
					*  Temos uma condição que SE o número de registros for maior que 0 então
					*  imprimir todos os resultados do banco de dados referente a consulta, 
					*  criada. Caso ao contrário preencher com um hífen.
					*
					*  *PROBLEMA APRESENTADO*
					*  Ao inserir um registro no banco de dados ele não exibe na hora que cadastra, 
					*  somente quando faz a segunda inserção: Exemplo se você for cadastrar no dia 25/12
					*  ele não vai aparecer na primeira vez, somente na segunda vez na mesma data
					*  Ou seja só imprime se você for cadastrar na segunda vez na mesma data.
					*					
					****************************************************************************************/

					for($day= 1; $day <= 5; $day++) {
						$d = strtotime($year ."W". $week . $day);
						$d = $dtCalendar = date('d/m/Y', $d);									
					
						mysql_select_db($database_conecta, $conecta);
						$query_resultReg = "SELECT calendar_data, calendar_cliente, calendar_descricao FROM calendario WHERE calendar_responsavel = '3' AND calendar_data = '".$dtCalendar."'";
						$resultReg = mysql_query($query_resultReg, $conecta) or die(mysql_error());
						$row_resultReg = mysql_fetch_assoc($resultReg);
						$totalRows_resultReg = mysql_num_rows($resultReg);			
					
						echo "<div class='semanal dt".date ('Y-m-d')."'>";
						if ($totalRows_resultReg > 0){
							while ($row_resultReg = mysql_fetch_assoc($resultReg)) {
				    			echo "<p>" .$row_resultReg['calendar_cliente'] ." - " .$row_resultReg['calendar_descricao']. "</p> ";
							}
							
						}else{
								echo " - ";
						}
								
							echo "</div>";
						}
					
				?>
			</div>

			<div class="colaboradores">
				<div class="funcionarios">
					<h4>Nelson Macedo</h4>
				</div>
                
                <?php 
				
					/****************************************************************************************
					* COLABORADOR NELSON
					*
					*  Abaixo é criado um Loop para as montar as .divs conforme o loop (For)
					*  Também abaixo encontramos variavéis, que fazem conexão com o banco de dados  
					*  temos também uma Query em SQL cujo objetivo é retornar o valor conforme 
					*  a data cadastrada e o código do colaborador.
					*
					*  Temos uma condição que SE o número de registros for maior que 0 então
					*  imprimir todos os resultados do banco de dados referente a consulta, 
					*  criada. Caso ao contrário preencher com um hífen.
					*
					*  *PROBLEMA APRESENTADO*
					*  Ao inserir um registro no banco de dados ele não exibe na hora que cadastra, 
					*  somente quando faz a segunda inserção: Exemplo se você for cadastrar no dia 25/12
					*  ele não vai aparecer na primeira vez, somente na segunda vez na mesma data
					*  Ou seja só imprime se você for cadastrar na segunda vez na mesma data.
					*					
					****************************************************************************************/
				
					for($day= 1; $day <= 5; $day++) {
						$d = strtotime($year ."W". $week . $day);
						$d = $dtCalendar = date('d/m/Y', $d);
                
						mysql_select_db($database_conecta, $conecta);
						$query_resultNel = "SELECT calendar_data, calendar_cliente, calendar_descricao FROM calendario WHERE calendar_responsavel = '4' AND calendar_data = '".$dtCalendar."'";
						$resultNel = mysql_query($query_resultNel, $conecta) or die(mysql_error());
						$row_resultNel = mysql_fetch_assoc($resultNel);
						$totalRows_resultNel = mysql_num_rows($resultNel);				
						
						echo "<div class='semanal dt".date ('Y-m-d')."'>";
							if ($totalRows_resultNel > 0){
							while ($row_resultNel = mysql_fetch_assoc($resultNel)) {
				    			echo "<p>" .$row_resultNel['calendar_cliente'] ." - " .$row_resultNel['calendar_descricao']. "</p> ";
							}
							
						}else{
								echo " - ";
						}
								
							echo "</div>";
						}
					
				?>                
			</div>

			<div class="colaboradores">
				<div class="funcionarios">
					<h4>Walter Moreira</h4>
				</div>
				<?php
				
					/****************************************************************************************
					* COLABORADOR WALTER
					*
					*  Abaixo é criado um Loop para as montar as .divs conforme o loop (For)
					*  Também abaixo encontramos variavéis, que fazem conexão com o banco de dados  
					*  temos também uma Query em SQL cujo objetivo é retornar o valor conforme 
					*  a data cadastrada e o código do colaborador.
					*
					*  Temos uma condição que SE o número de registros for maior que 0 então
					*  imprimir todos os resultados do banco de dados referente a consulta, 
					*  criada. Caso ao contrário preencher com um hífen.
					*
					*  *PROBLEMA APRESENTADO*
					*  Ao inserir um registro no banco de dados ele não exibe na hora que cadastra, 
					*  somente quando faz a segunda inserção: Exemplo se você for cadastrar no dia 25/12
					*  ele não vai aparecer na primeira vez, somente na segunda vez na mesma data
					*  Ou seja só imprime se você for cadastrar na segunda vez na mesma data.
					*					
					****************************************************************************************/
                
					for($day= 1; $day <= 5; $day++) {
						$d = strtotime($year ."W". $week . $day);
						$d = $dtCalendar = date('d/m/Y', $d);
                
						mysql_select_db($database_conecta, $conecta);
						$query_resultWal = "SELECT calendar_data, calendar_cliente, calendar_descricao FROM calendario WHERE calendar_responsavel = '5' AND calendar_data = '".$dtCalendar."'";
						$resultWal = mysql_query($query_resultWal, $conecta) or die(mysql_error());
						$row_resultWal = mysql_fetch_assoc($resultWal);
						$totalRows_resultWal = mysql_num_rows($resultWal);				
						
						echo "<div class='semanal dt".date ('Y-m-d')."'>";
							if ($totalRows_resultWal > 0){
								while ($row_resultWal = mysql_fetch_assoc($resultWal)) {
				    				echo "<p>" .$row_resultWal['calendar_cliente'] ." - " .$row_resultWal['calendar_descricao']. "</p> ";
								}
							
							}else{
								echo " - ";
							}									
							
							echo "</div>";
							
							}					
				?>
			</div>

			<div class="colaboradores">
				<div class="funcionarios">
					<h4>Funcionario Novo</h4>
				</div>
				<div class="segunda">
				</div>
				<div class="terca">
				</div>
				<div class="quarta">
				</div>
				<div class="quinta">
				</div>
				<div class="sexta">
				</div>
			</div>
		</div>                              
</body>
</html>
<?php mysql_free_result($listRespons); ?>



Abraços a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mal em gerar códigos!

Como tentar te ajudar em quase 600 linhas de código.

Abandone esta prática, dificilmente pela web inteira você ira achar alguém que te da suporte a códigos gerados pelo Dreamwaver.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que vi, a rotina é a mesma para todo colaborador, certo? Unica coisa que muda é o ID do select. Neste caso, guarde a rotina inteira em uma função e passe como parâmetro apenas o ID. Desta maneira, facilita até sua manutenção no futuro, cara!

// * Exemplo
function buscaInfoColaborador($idColaborador){
    // * Toda a rotina vai aqui, aí quando chegar na hora do select WHERE id =, você passa o $idColaborador
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola MayKel-ctba, muito obrigado por sua contribuição vou implementar a mesma e qualquer coisa eu dou um feedback aqui no fórum.

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Bom dia Pessoal, tudo bem?


Eu consegui melhorar meu código comparado ao anterior que já tinha postado, mais quando eu executo o mesmo acima ele demora para carregar as respostas.

Gostaria de saber o que estou fazendo errado. O que eu posso fazer para melhorar o código acima e aplicação ficar mais rápida. Estarei abaixo enviando o código.


Desde já agradeço a atenção de todos.


Abraços.




<?php
$year = (isset($_GET['year'])) ? $_GET['year'] : date("Y");
$week = (isset($_GET['week'])) ? $_GET['week'] : date('W');
if($week > 52) {
$year++;
$week = 1;
} elseif($week < 1) {
$year--;
$week = 52;
}

$server = $_SERVER['SERVER_NAME'];
$endereco = $_SERVER ['REQUEST_URI'];
$url = "Location: http://" . $server . $endereco;
$_SESSION['page'] = $url;

?>
<?php
function buscaInfoColaborador($idColaborador){
$year = (isset($_GET['year'])) ? $_GET['year'] : date("Y");
$week = (isset($_GET['week'])) ? $_GET['week'] : date('W');

if($week < 10) {
$week = '0'. $week;
}

for($day= 1; $day <= 5; $day++) {
$d = strtotime($year ."W". $week . $day);
$dtCalendar = date('d/m/Y', $d);

echo ("<div class='semanal dt".$dtCalendar."'>\n");

include('conexao.php');
$sql = "SELECT calendar_cliente, calendar_descricao FROM calendario WHERE calendar_responsavel = '".$idColaborador."' AND calendar_data = '".$dtCalendar."'";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "<p>" .$row["calendar_cliente"]. " - " .$row["calendar_descricao"]. "</p>";
}
} else {
echo "-";
}
mysqli_close($conn);
echo ("</div> \n");
}

}
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Sistema de Jobs - Brandcompany</title>
<link rel="stylesheet" type="text/css" href="style.css">
<style type="text/css" media="screen">
.abas a.calendar {background: #d71f27; color:#fff; padding: 1%; width: 5%; margin: 0 0.15% 1%; font: normal 16px 'Calibri';}
<?php
$verificames = date('m');
echo ".meses ul li .mes".$verificames ."{background:#d71f27; color: #fff;}"
?>
</style>
</head>

<body>
<header>
<h1>Sistema de Jobs</h1>
<img src="images/logotipo-brandcompany.gif" alt="Brandcompany">
</header>

<div class="funcoes">
<div class="abas">
<a href="index.php" title="Calendário" class="calendar">Calendário</a>
<a href="novos-jobs.php" title="Novos Jobs" class="newjobs">Novos Jobs</a>
</div>

<div class="meses">
<ul>
<li><a href="" title="Janeiro" class="mes01">JAN</a></li>
<li><a href="" title="Fevereiro" class="mes02">FEV</a></li>
<li><a href="" title="Março" class="mes03">MAR</a></li>
<li><a href="" title="Abril" class="mes04">ABR</a></li>
<li><a href="" title="Maio" class="mes05">MAI</a></li>
<li><a href="" title="Junho" class="mes06">JUN</a></li>
<li><a href="" title="Julho" class="mes07">JUL</a></li>
<li><a href="" title="Agosto" class="mes08">AGO</a></li>
<li><a href="" title="Setembro" class="mes09">SET</a></li>
<li><a href="" title="Outubro" class="mes10">OUT</a></li>
<li><a href="" title="Novembro" class="mes11">NOV</a></li>
<li><a href="" title="Dezembro" class="mes12">DEZ</a></li>
</ul>
</div>

<!-- Formulário de atividades diárias -->
<form name="form" action="insert.php" method="POST">
<input name="id" type="hidden" value="">
<label>Data<input name="data" type="text" value="/<?php echo date ('m/Y'); ?>" size="8" maxlength="12" placeholder="Data" autofocus></label>
<label> Responsável

<select name="colaboradores">
<option value="1">Rodrigo Vieira</option>
<option value="2">Richard Garcia</option>
<option value="3">Regiane Guzzon</option>
<option value="4">Nelson Macedo</option>
<option value="5">Walter Moreira</option>
</select>
</label>

<label>
Cliente
<select name="cliente">
<option value="Banco Sofisa">Banco Sofisa</option>
<option value="Brandcompany">Brandcompany</option>
<option value="BV20">BV20</option>
<option value="Cinelli Adv">Cinelli Adv</option>
<option value="Cumulus">Cumulus</option>
<option value="DM Serv">DM Serv</option>
<option value="Fairline">Fairline</option>
<option value="Gerir">Gerir</option>
<option value="HCM">HCM</option>
<option value="HUGO">HUGO</option>
<option value="HMI">HMI</option>
<option value="HUGO">HUGO</option>
<option value="HUTRIN">HUTRIN</option>
<option value="HRPP">HRPP</option>
<option value="Maternidade">Maternidade</option>
<option value="Ihouse">Ihouse</option>
<option value="IICS-CEU">IICS-CEU</option>
<option value="Insights">Insights</option>
<option value="Law Consulting">Law Consulting</option>
<option value="Leal Cotrim">Leal Cotrim</option>
<option value="Salerno">Salerno</option>
<option value="Sofisa Direto">Sofisa Direto</option>
<option value="Sunstate Bank">Sunstate Bank</option>
<option value="Taler">Taler</option>
<option value="WFaria">WFaria</option>
</select>
</label>
<label>Descrição do Job<input type="input" name="Job" value="" placeholder="Digite a descrição do Job realizado" required></label>
<input type="submit" name="submit" value="OK" id="btnOk">
</form>

<form name="busca" action="search.php" method="get" id="frmbuscar">
<label><input name="palavra" id="search" placeholder="Buscar" required></label>
</form>

<div class="controles">
<h2>
<?php

setlocale(LC_ALL, "pt_BR", "ptb");
echo strftime("%B");
?>
</h2>

<div class="nav">
<a href="<?php echo $_SERVER['PHP_SELF'].'?week='.($week == 52 ? 1 : 1 + $week).'&year='.($week == 52 ? 1 + $year : $year); ?>" title="Proximo">
<span class="btn_next">➜</span>
<span class="tlinkr">Próximo</span>
</a>
<a href="<?php echo $_SERVER['PHP_SELF'].'?week='.($week == 1 ? 52 : $week -1).'&year='.($week == 1 ? $year - 1 : $year); ?>" title="Anterior">
<span class="btn_back">➜</span>
<span class="tlinkl">Anterior</span>
</a>
</div>
</div>
</div>

<!-- CALENDÁRIO SEMANAL COM TODOS OS RESULTADOS VINDO DO BANCO DE DADOS -->
<div class="calendario">

<!-- Barra de títulos -->
<div class="titulos">

<div class="funcionarios">
<h3>Responsável</h3>
</div>

<?php

if($week < 10) {
$week = '0'. $week;
}

for($day= 1; $day <= 5; $day++) {
$d = strtotime($year ."W". $week . $day);

echo "<div class='semanal'>"
."<h3>" .strftime('%a', $d) ." - " .date ('d/m', $d) ."</h3>"
."</div>";
}

?>
</div>

<div class="colaboradores">

<div class="funcionarios">
<h4>Rodrigo Vieira</h4>
</div>
<?php buscaInfoColaborador("1"); ?>
</div>

<div class="colaboradores">
<div class="funcionarios">
<h4>Richard Garcia</h4>
</div>
<?php buscaInfoColaborador("2"); ?>
</div>

<div class="colaboradores">
<div class="funcionarios">
<h4>Regiane Guzzon</h4>
</div>
<?php buscaInfoColaborador("3"); ?>
</div>

<div class="colaboradores">
<div class="funcionarios">
<h4>Nelson Macedo</h4>
</div>
<?php buscaInfoColaborador("4"); ?>
</div>

<div class="colaboradores">
<div class="funcionarios">
<h4>Walter Moreira</h4>
</div>
<?php buscaInfoColaborador("5"); ?>
</div>
</div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá pra melhorar mais ainda, mas já foi um baita avanço!

Você está incluindo um conexão.php a cada rodada do FOR. Inclua ele lá no começo do código, só uma vez. Isso já deve ajudar um pouco na sobrecarga (linha 33).

Acho que deve ter algo errado também com a consulta rodar dentro desse for... deve estar causando uma sobrecarga.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado mais uma vez MayKel-Ctba, mais quando eu incluo a linha 33 no começo do código me exibe o seguinte erro:

Notice: Undefined variable: conn in C:\xampp\htdocs\jobs\index.php on line 35

Abaixo a linha 35

$result = mysqli_query($conn, $sql);

E muito obrigado por me ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites
Então sobre o for eu vou explicar de uma forma visual.

O que acontece é o seguinte esse FOR é utilizado para fazer a impressão de Divs onde vai conter em cada Div o resultado da busca.

Visualizar a imagem que deixo em anexo.


Fico no aguardo, de um feedback dessa galera ninja deste fórumsistema-de-jobs.png.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Galera do Fórum tudo bem?

Será que é tão complexo este meu problema?

Estou ainda tentando desvendar o mistério.

Abraços.

Esse meu caso será que tem solução?

Abraços

Eu imaginava que esse fórum, o pessoal consegui-se resolver uma solução dessa acima.

Mais to vendo que tenho que vou te que torrar de vez meu cerebro para concluir.

Mesmo assim obrigado a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro é seu amigo ;)

Notice: Undefined variable: conn in C:\xampp\htdocs\jobs\index.php on line 35

A variavel $conn é chamada na linha 35, mas ela é declarada em alguma linha anterior a 35 ?

Essa $conn vem de algum include ?

Ele é requisitado antes dessa linha ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
    • Por Carlos Web Soluções Web
      Olá...
      Estou tentando fazer o seguinte !!
      Listando dados em tabela !!
      Gostaria que....se na listagem houver 4 linhas...indepedente de seu número de ID, faça a listagem em ID ser em ordem 1 2 3 4 !!
      Exemplo...se tiver uma listagem de dados que está em ID 1 3 3...faça ficar 1 2 3 !!

       
      echo "<table class='tabela_dados' border='1'> <tr> <td>ID</td> <td>Nome Empresa</td> <td>Responsável</td> <td>Telefone 1</td> <td>Telefone 2</td> <td>E-mail 1</td> <td>E-mail 2</td> <td>Endereço</td> <td>CEP</td> <td>Bairro</td> <td>AÇÃO 1</td> <td>AÇÃO 2</td> </tr> "; $sql = "SELECT ID FROM usuarios_dados WHERE Usuario='$usuario'"; $result = $conn->query($sql); $num_rows = $result->num_rows; $Novo_ID = 1; for ($i = 0; $i < $num_rows; $i++) { $registro = $result -> fetch_row(); $sql2 = "UPDATE usuarios_dados SET ID='$Novo_ID' WHERE ID='$Novo_ID'"; $result2 = $conn->query($sql2); $Novo_ID++; } $sql = "SELECT * FROM usuarios_dados"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "<tr> <td>$row[ID]</td> <td>$row[Nome_Empresa]</td> <td>$row[Responsavel]</td> <td>$row[Telefone_1]</td> <td>$row[Telefone_2]</td> <td>$row[Email_1]</td> <td>$row[Email_2]</td> <td>$row[Endereço]</td> <td>$row[CEP]</td> <td>$row[Bairro]</td> <td> <form method='post' action='Editar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='EDITAR'> </form> </td> <td> <form method='post' action='Deletar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='DELETAR'> </form> </td> </tr> "; } } else { echo "0 results"; } $conn->close();  
    • Por ILR master
      Boa tarde pessoal, tudo bem ?
       
      Eu uso o tinymce para cadastro de textos no meu siite, porém, quero fazer um sistema para que os colunistas possam fazer o próprio post.
      O problema do tinymce, é que ele mantém a formatação do texto copiado, como tamanho de fonts, negritos, etc... Quero que o usuário cole o texto e a própria textarea limpe a formatação para que ele formate como quiser.
       
      A pergunta é:
       
      O tinymce tem uma opção para desabilitar a formatação quando um texto é colocado?
      Tem alguma função via java ou php para retirar a formatação assim que o texto é colado?
      Ou é melhor usar um outro editor?
       
      Agradeço deste já.
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por ILR master
      Fala pessoal.
       
      Seguinte:
       
      Quero selecionar duas tabelas e mostrar com resultados intercalados. Abaixo segue um código explicando para vcs terem uma ideia.
       
      $consulta = "SELECT A.*, B.* FROM tabela1 A, tabela2 B'";
      $resultado = mysqli_query($conexao, $consulta) or die ("erro");
      while($busca = mysqli_fetch_array($resultado)){
       
      print $busca['cod_evento']; --> traz o código da tabela1 
      print $busca['titulo_evento']; -->  traz o titulo da tabela1
      print $busca['cod_noticia']; --> traz o código da tabela2
      print $busca['titulo_noticia']; --> traz o tituloda tabela2
       
      }
       
      Espero que entendam. Grato
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.