Ir para conteúdo

Arquivado

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

  • 0
Gemeons

Queria saber como fazer para que quando for feita alteração no banco não aceita uma "Turma" com o ano e turno que já esteja no banco de dados ??

Pergunta

ESSA E A PRIMEIRA PARTE DO CÓDIGO:

<html>

<head>
      <title>Resultados da busca</title>
	  
</head>

<body>
<?php
   $host = "localhost";
   $user = "root";
   $pass = "";
   $banco = "SLP";
   $conexao = mysqli_connect($host, $user, $pass) or die(mysqli_error());
   mysqli_select_db($conexao, $banco) or die(mysqli_error($conexao));
?>

<?php
   session_start();
   $uni=@$_SESSION['uni'];
   $mod=@$_SESSION['mod'];
   $ano=@$_SESSION['ano'];
   $turma=@$_SESSION['turma'];
   $turno=@$_SESSION['turno'];
   $_SESSION['uni'] = $uni;
   $_SESSION['mod'] = $mod;
   $_SESSION['ano'] = $ano;
   $_SESSION['turma'] = $turma;
   $_SESSION['turno'] = $turno;
   $sql = mysqli_query($conexao,"SELECT * FROM cadastros WHERE unidade LIKE '%".$uni."%' AND modalidade LIKE '%".$mod."%' AND ano LIKE '%".$ano."%' 
   AND turma LIKE '%".$turma."%' AND turno LIKE '%".$turno."%'");
   $row = mysqli_num_rows($sql);
   if ($row > 0) {
	   while ($linha = mysqli_fetch_array($sql)) {
		   $id=$linha['id'];
		   $reg=$linha['regional'];
           $rpa=$linha['rpa'];
           $tpu1=$linha['tipoUnidade'];
           $uni=$linha['unidade'];
           $mod=$linha['modalidade'];
           $ano=$linha['ano'];
		   $turma=$linha['turma'];
		   $turno=$linha['turno'];
		   $situacaoTurma=$linha['situacaoTurma'];
		   $matricula=$linha['matricula'];
		   $nomeProfEfetivo=$linha['nomeProfEfetivo'];
		   $cargo=$linha['cargo'];
		   echo "<strong>ID: </strong>".@$id;
		   echo "<br /><br />";
		   echo "<strong>REGIONAL: </strong>".@$reg;
		   echo "<br /><br />";
		   echo "<strong>RPA: </strong>".@$rpa;
		   echo "<br /><br />";
		   echo "<strong>TIPO DE UNIDADE: </strong>".@$tpu1;
		   echo "<br /><br />";
		   echo "<strong>UNIDADE: </strong>".@$uni;
		   echo "<br /><br />";
		   echo "<strong>MODALIDADE: </strong>".@$mod;
		   echo "<br /><br />";
		   echo "<strong>ANO: </strong>".@$ano;
		   echo "<br /><br />";
		   echo "<strong>SITUAÇÃO DA TURMA: </strong>".@$situacaoTurma;
		   echo "<br /><br />";
		   if ($matricula = $matricula) {
		       echo "<strong>MATRICULA DO PROFESSOR TITULAR: </strong>".@$matricula;
		       echo "<br /><br />";	
               if ($nomeProfEfetivo = $nomeProfEfetivo) {
				   echo "<strong>NOME DO PROFESSOR TITULAR: </strong>".@$nomeProfEfetivo;
		           echo "<br /><br />";
                   if ($cargo = $cargo) {
		               echo "<strong>CARGO DO PROFESSOR TITULAR: </strong>".@$cargo;
		               echo "<br /><br />";
				   }  
			   }
		   }   
		   echo "<br />";
		   echo "<h3>Informe os novos dados da turma:</h3>";
		   echo "<html>
                 <head>
 
                 </head>
                 <body>
                  
					     Os campos com <b>*</b> são obricatórios!
                         <br/><br/>
					     <form name='alterarTurma' method='post' action='alteraçao de turma/pag3'>
                                             <link rel='stylesheet' type='text/css' href='/SLP/css/css/Pag.css' />
						     TURMA:<b>*</b><br/>
                             <select id='turma' name='turma' required>
                                 <option value=''></option>
                                 <option value='A'>A</option>
                                 <option value='B'>B</option>
                                 <option value='C'>C</option>
                                 <option value='D'>D</option>
                                 <option value='E'>E</option>
                                 <option value='F'>F</option>
                                 <option value='G'>G</option>
                                 <option value='H'>H</option>
                                 <option value='I'>I</option>
                             </select>
                             <br/><br/>
                             TURNO:<b>*</b><br/>
                             <select id='turno' name='turno' required>
                             <option value=''></option>
                             <option value='MANHA'>MANHA</option>
                             <option value='TARDE'>TARDE</option>
                             <option value='NOITE'>NOITE</option>
                             </select>
                             <br/><br/>	
                                <link rel='stylesheet' href='/SLP/css/css/finalizar.css'>
                                <input type='submit' class='btfinalizar btn-blue' value='Alterar' />
                    			 
                         </form>						 

                 </body>
                 </html>";
	   }
   } else {
	     echo "Turma não encontrada!";
     }	   
?>

 <link rel="stylesheet" href="/SLP/css/css/voltar.css">
<a href="Alterar cadastro" class="bt btn-blue">Voltar</a>



</body>

</html>

ESSA E A SEGUNDA JA COM A RESPOSTA DA ALTERAÇÃO E COM O UPDATE NO BANCO:

<html>

<head>
      <title>Atualizando...</title>
<!-- Ligação com o css -->	  
	  <link rel="stylesheet" type="text/css" href="http://localhost/formulario/style.css" />
</head>

<body>
<div class="container">
<br/><br/>
<!-- Ligação com o banco -->
<?php
$host = "localhost";
$user = "root";
$pass = "";
$banco = "slp_bd";
$conexao = mysqli_connect($host, $user, $pass) or die(mysqli_error());
mysqli_select_db($conexao, $banco) or die(mysqli_error($conexao));
?>
<?php
//Variáveis que recebem os dados preenchidos no formulário (alterarTurmaTela3.php)
session_start();
$turma2=$_POST['turma'];
$turno2=$_POST['turno'];
//Variáveis que recebem os dados das variáveis globais criadas na página "alterarTurmaTela3.php"
$uni=@$_SESSION['uni'];
$mod=@$_SESSION['mod'];
$ano=@$_SESSION['ano'];
$turma=@$_SESSION['turma'];
$turno=@$_SESSION['turno'];
//Update no banco para alterar todos os dados solicitados no formulário (alterarTurmaTela3.php) 
$sql = mysqli_query($conexao, "UPDATE cadastros SET turma='".$turma2."', turno='".$turno2."' WHERE unidade LIKE '%".$uni."%' AND modalidade LIKE '%".$mod."%' AND ano LIKE '%".$ano."%' 
   AND turma LIKE '%".$turma."%' AND turno LIKE '%".$turno."%'");

echo "Turma alterada com sucesso!";
?>
<!-- Links da página -->
<br/>
<p><a href="http://localhost/SLP/turma.html">< menu</a><p/>
</div>
</body>

</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

14 respostas a esta questão

Recommended Posts

1 minuto atrás, Rapadura disse:

Olá 

 

Porque no código tem 2 head e 2 body ?

 

São dois códigos diferentes que se interligam para fazer as alterações no banco eu postei os dois pra ter mas noção de como esta entende ?? 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu ver se entendi. Você só quer criar uma nova turma, após o sistema saber que não existe uma com os mesmos dados inseridos pelo usuário?

Compartilhar este post


Link para o post
Compartilhar em outros sites
6 horas atrás, jamesbond disse:

Deixa eu ver se entendi. Você só quer criar uma nova turma, após o sistema saber que não existe uma com os mesmos dados inseridos pelo usuário?

 

Ver esses códigos funcionam assim, eles alteram o turno "manha, tarde, noite" e serie " A B C D", de turmas já cadastradas no banco o que eu queria altera e que quando for feita essa alteração não aceitasse altera para turmas que ja tenha esses dados para não fica iguais tipo turma 1 A manha ai não mas uma turma igual a essa entende ??

 

 

 

 

 

 

 

5 horas atrás, Motta disse:

Por segurança crie uma chave primária ou única

 

Não pode pq as variáveis do banco não podem ser iguais msm q seja um primaria. endendes ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Chave única seria a melhor solução, ou você terá que verificar se os dados já existe em um novo select:

 
$sql = mysqli_query($conexao, "SELECT * FROM cadastros WHERE turma='$turma2' AND turno='$turno2'");
$row = mysqli_num_rows($sql);
if($row > 1){
echo 'turma etc..., existe.';
}else{
echo 'continua.....';
}

mais ou menos isso...

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Motta disse:

Chave única insisto.

 

 

Como irei coloca chave unica exitem varias escolas e a msm pode ter turnos e turmas iguais só variando o ano ta ligado se eu bota chave unica não vai interferir

?

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 minutos atrás, Gemeons disse:

 

 

Como irei coloca chave unica exitem varias escolas e a msm pode ter turnos e turmas iguais só variando o ano ta ligado se eu bota chave unica não vai interferir

?

É "to ligado"... rs. Então faz uma consulta antes de alterar e verifica se realmente não existe.

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 minutos atrás, jamesbond disse:

É "to ligado"... rs. Então faz uma consulta antes de alterar e verifica se realmente não existe.

 

 

 

Mas acho q não vai adianta muito poque msm com a consulta, ainda vai continua aceitando alterações iguais no banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites
9 horas atrás, Gemeons disse:

 

 

 

Mas acho q não vai adianta muito poque msm com a consulta, ainda vai continua aceitando alterações iguais no banco?

Não... Caso já exista você o retorna com um erro, caso contrário você insere/altera

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 22/04/2017 at 10:32, jamesbond disse:

Não... Caso já exista você o retorna com um erro, caso contrário você insere/altera

 

 

Conseguir ficou agr assim :

<html>

<head>
</head>
<link rel="stylesheet" type="text/css" href="/SLP/css/css/Pag.css" />
<body>
<div class="container2">
<br/><br/>
<?php include 'css/config.php'; ?>
<?php
//Variáveis que recebem os dados preenchidos no formulário (alterarTurmaTela3.php)
session_start();
$turma2=$_POST['turma'];
$turno2=$_POST['turno'];
//Variáveis que recebem os dados das variáveis globais criadas na página "alterarTurmaTela3.php"
$uni=@$_SESSION['uni'];
$mod=@$_SESSION['mod'];
$ano=@$_SESSION['ano'];
$turma=@$_SESSION['turma'];
$turno=@$_SESSION['turno'];
//Select no banco para selecionar todos os dados solicitados no formulário (alterarTurmaTela1.html)
   $sql = mysqli_query($conexao,"SELECT * FROM cadastros WHERE unidade LIKE '%".$uni."%' AND modalidade LIKE '%".$mod."%' AND ano LIKE '%".$ano."%' 
   AND turma LIKE '%".$turma2."%' AND turno LIKE '%".$turno2."%'");
   //Testa se os dados existem no banco, caso exista ele exibe na tela   
   $row = mysqli_num_rows($sql);
   if ($row > 0) {
	   echo "Não foi possível efetuar a alteração da turma, pois a mesma já existe no sistema.";
   } else {
//Update no banco para alterar todos os dados solicitados no formulário (alterarTurmaTela3.php) 
$sql = mysqli_query($conexao, "UPDATE cadastros SET turma='".$turma2."', turno='".$turno2."' WHERE unidade LIKE '%".$uni."%' AND modalidade LIKE '%".$mod."%' AND ano LIKE '%".$ano."%' 
   AND turma LIKE '%".$turma."%' AND turno LIKE '%".$turno."%'");

echo "Turma alterada com sucesso!";
   }
?>
</div>
<br/><br/><br/>
<a href="/SLP/Turma" class="btn btn-blue">Retorna à página principal</a>
  <link rel="stylesheet" href="/SLP/css/css/CDTpag2.css">
</body>

</html>

Flw ae pelas dicas ajudou paks...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu conselho para você é que aprenda POO.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a ajuda dos amigos, mas preciso entender uma processo que não estou conseguindo sucesso.

      Como mencionado no Título estou escrevendo um Sistema Web para Gerenciamento de Empresa.
       
      Minha dúvida, que preciso muito entender:
      - preciso agora escrever a Rotina para Emissão de NFe e essa parte não estou conseguindo.
       
      tenho assistido alguns vídeos e leituras, mas não estou conseguindo sucesso, já fiz toda as importações das LIB da NFePhp conforme orientação.

      Preciso de ajuda.

      Algum dos amigos tem conhecimento de algum passo-a-passo explicando a criação dessa rotina ?

      tenho visto alguns vídeos com LARAVEL, mas quando tento utilizar e converter para PHP+Codeiginter, dá uma fila de erros que não entendo, mesmo informando as lib necessárias.

      Alguns do amigo tem algum vídeo, leitura explicando essa parte ?

      Grato,

      Cesar.
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer ao auxílio dos amigos, mas preciso entender e resolver um problema.
       
      Tenho uma Rotina que o usuário seleciona os produtos que deseja para requerer ao setor responsável.
       
      O usuário escolhe um produto qualquer e Clicla em um button para incluir a lista.

      O problema que estou enfrentando é que após escolher o produto e teclar ENTER o Sistema já salva no BD.
       
      Gostaria de criar uma Tecla de Atalho, para quando incluir/escolher o produto na lista, o usuário tecla como exemplo:
      ALT+A  para agregar a lista
      ALT+S para salvar a lista de itens desejados.

      Assim, quando teclar enter, o sistema não dispara o GRAVAR na Base de Dados.

      Grato,

      Cesar
       
       
       
×

Informação importante

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