Jump to content
emmanuelsiqueira30

Querys para 3 tabelas não executam

Recommended Posts

Pessoal o problema é o seguinte estou tentando inserir a informação de matrícula de alunos utilizando 3 tabelas.

1 - matricula

2 - contasreceber

3 - parcelareceber

 

Mas as querys da tabela contasreceber e parcelareceber não executam e também o outro problema é que a data das parcelas ficam dando o ano de 2020 em vez de 2019.

Agradeço toda ajuda possível.

cadMatriculaView

<!DOCTYPE html>
<html>
<title>Matrícula do aluno</title>
<head>
	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
</head>
<body>
<?php include 'menuView.php'; ?></br></br>

<?php ini_set( 'default_charset', 'UTF-8' );
ini_set( 'mbstring.http_output', 'UTF-8' );
ini_set( 'mbstring.internal_encoding', 'UTF-8' );
header("Content-Type: text/html; charset=UTF-8",true);  
?>

<font face="verdana" size="4">
	<form action="../Model/cadMatriculaModel.php" method="POST">
		
		<fieldset>
			<legend>CONSULTA DE ALUNO</legend>
			<label for="proprietario_id_prop">Digite o CPF do aluno: </label>
				<input type="text" class="form-control" name="textbox" id="textbox" placeholder="Digite CPF do aluno"></br>
					ALUNO: <select class="form-control" name="id_aluno" id="select" style="width: 400px">
						<?php
							include ("../Controller/conexao.php");
							$query = "SELECT * FROM aluno";
							$consulta = mysqli_query($con,$query); 
							while ($dados = mysqli_fetch_assoc($consulta)) { ?>
								<option value="<?php echo $dados['idaluno']; ?>"><?php echo $dados['cpfaluno'] . " - " . $dados['nomealuno']; ?></option> <?php 
							}
						?>
					</select></br>
		</fieldset>
		
		<fieldset>
			<legend>ESCOLHA DO CURSO</legend>
					CURSO: <select class="form-control" name="id_curso" id="select">
						<?php
							include ("../Controller/conexao.php");
							$query = "SELECT * FROM curso";
							$consulta = mysqli_query($con,$query); 
							while ($dados = mysqli_fetch_assoc($consulta)) { ?>
								<option value="<?php echo $dados['id_curso']; ?>"><?php echo $dados['nome_curso'] . " - " . $dados['turno_curso']; ?></option> <?php 
							}
						?>
					</select></br>
		</fieldset>
		
		TIPO DE PAGAMENTO: <select name="tipo_pag_matricula">
							<option value="1">A PRAZO</option>
					   </select></br>
		
		DIA DO VENCIMENTO: <input type="number" name="dt_venc_pag_matricula" maxlength="2">
		NÚMERO DE PARCELAS: <input type="number" name="n_parc_matricula" maxlength="2">
		DESCONTO: <input type="number" name="desc_matricula" style="width: 50px" value="0">% </br>
		
		<span style="color: red; font-size: 8pt">* Campos obrigatórios.</span></br>
		<button type="submit" name="btninserir">INSERIR MATRÍCULA</button>
	</form>
</font>

<script>
jQuery.fn.filterByText = function(textbox, selectSingleMatch) {
        return this.each(function() {
            var select = this;
            var options = [];
            $(select).find('option').each(function() {
                options.push({value: $(this).val(), text: $(this).text()});
            });
            $(select).data('options', options);
            $(textbox).bind('change keyup', function() {
                var options = $(select).empty().data('options');
                var search = $(this).val().trim();
                var regex = new RegExp(search,"gi");
              
                $.each(options, function(i) {
                    var option = options[i];
                    if(option.text.match(regex) !== null) {
                        $(select).append(
                           $('<option>').text(option.text).val(option.value)
                        );
                    }
                });
                if (selectSingleMatch === true && $(select).children().length === 1) {
                    $(select).children().get(0).selected = true;
                }
            });            
        });
    };

    $(function() {
        $('#select').filterByText($('#textbox'), false);
      $("select option").click(function(){
        alert(1);
      });
    });
</script>



</body>
</html>

cadMatriculaModel

 

<?php
	
	include("../Controller/conexao.php");
	include("../Controller/util.php");
	
	header('Content-Type: text/html; charset=utf-8');
	
	$id_aluno = $_POST['id_aluno'];
	$id_curso = $_POST['id_curso'];
	$data_matricula = date("Y-m-d");
	$codunico_matricula = bin2hex(random_bytes(8));
	$tipo_pag_matricula = $_POST['tipo_pag_matricula'];
	$dt_venc_pag_matricula = $_POST['dt_venc_pag_matricula'];
	$desc_matricula = $_POST['desc_matricula'];
	$n_parc_matricula = $_POST['n_parc_matricula'];
	
	$sql_valor_curso = "SELECT * FROM curso WHERE id_curso = $id_curso";
	$result_valor_curso = mysqli_query($con,$sql_valor_curso);
	$row_valor_curso = mysqli_fetch_assoc($result_valor_curso);
	$valor_curso = $row_valor_curso['valor_curso'];
	
	$valor_final = $valor_curso - $desc_matricula;
	
	$dt_curso_ini  = $row_valor_curso['data_inicio_curso'];
	$dt_curso_fim  = $row_valor_curso['data_fim_curso'];
 	$dif = strtotime($dt_curso_fim) - strtotime($dt_curso_ini);
 	$periodo_curso_meses = floor($dif / (60 * 60 * 24 * 30));
 	
	$valor_parc = $valor_final / $periodo_curso_meses;
	
	$sqlmatriculaexistente = "SELECT * FROM matricula WHERE id_curso = $id_curso AND id_aluno = $id_aluno AND codunico_matricula = $codunico_matricula";
	$resultmatriculaexistente = mysqli_query($con,$sqlmatriculaexistente);
	
	if (resultmatriculaexistente > 0) {
		echo "<script>alert('Matrícula já existente.'); location='../View/cadMatriculaView.php';</script>";	
	}
	else {
		
		$sqlmatricula = "INSERT INTO matricula (id_aluno,id_curso,data_matricula,codunico_matricula,tipo_pag_matricula,dt_venc_pag_matricula,desc_matricula,n_parc_matricula) 
		VALUES ('$id_aluno','$id_curso','$data_matricula','$codunico_matricula','$tipo_pag_matricula','$dt_venc_pag_matricula','$desc_matricula','$n_parc_matricula')";
		$resultmatricula = mysqli_query($con,$sqlmatricula);
		$ultimamatricula = mysqli_insert_id($con);
		echo $ultimamatricula;
				
		$sqlcr = "INSERT INTO contasreceber (id_matricula_cr,valor_total_cr,desc_cr,valor_final_cr,n_parc_cr) 
		VALUES ('$ultimamatricula','$valor_curso','$desc_matricula','$valor_final','$n_parc_matricula')";
		$resultcr = mysqli_query($con,$sqlcr);
		$ultimacr = mysqli_insert_id($con);
		echo $ultimacr;
				
		$desc_pr = 0;
		$valor_final_pr = $valor_parc;
		
		for($x = 0; $x < $n_parc_matricula; $x++){
			
			$dia = date("d");
			$mes = date("m");
			$ano = date("Y");
			
			$dt_venc_pr = date("Y/m/d",strtotime("+".$x." month",mktime(0, 0, 0,$dia,$mes,$ano)));
			echo $dt_venc_pr;
 			
			$sqlpr = "INSERT INTO parcelareceber (id_cr_pr,valor_parc_pr,desc_pr,valor_final_pr,dt_venc_pr,dt_pg_pr,valor_pg,valor_pag_pr) 
			VALUES ('$ultimamatricula','$valor_parc','$desc_pr','$valor_final_pr','$dt_venc_pr','?','?')";
			$resultpr = mysqli_query($con,$sqlpr);
		
		}		
		
	}
	
	if ($resultmatricula && resultpr) {
			//echo "<script>alert('Cadastro realizado com sucesso.'); location='../View/cadMatriculaView.php';</script>";
	} else {
			//echo "<script>alert('Erro ao cadastrar.'); location='../View/cadMatriculaView.php';</script>";
			echo mysqli_error($con);
	}
		
	$con->close();		
	
?>

 

Share this post


Link to post
Share on other sites

Oi boa noite,

 

Tente adicionar o código no arquivo para definir o timezone correto:

date_default_timezone_set(America/Sao_Paulo);

 

As vezes o seu servidor está com um date time diferente do nosso, percebi que você está pegando a data atual do servidor na variável:

$data_matricula = date("Y-m-d");

Pois no trecho que você mostra, teoricamente era para capturar os dados do dia, mês e ano atual (quando eu faço esse post o ano 19):

$dia = date("d");
$mes = date("m");
$ano = date("Y");

 

Share this post


Link to post
Share on other sites

OK, mas o grande problema do código é não executar o for para salvar as informações das parcelas.

Em 22/06/2019 at 00:49, André Severino disse:

Oi boa noite,

 

Tente adicionar o código no arquivo para definir o timezone correto:


date_default_timezone_set(America/Sao_Paulo);

 

As vezes o seu servidor está com um date time diferente do nosso, percebi que você está pegando a data atual do servidor na variável:


$data_matricula = date("Y-m-d");

 

Pois no trecho que você mostra, teoricamente era para capturar os dados do dia, mês e ano atual (quando eu faço esse post o ano 19):


$dia = date("d");
$mes = date("m");
$ano = date("Y");

OK, mas o grande problema do código é não executar o for para salvar as informações das parcelas.

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By drx
      Olá Pessoal!
       
      Eu estou tentando instalar o sgbd navicat para acessar meu banco de dados, porém sem sucesso. 
      Pergunta: Para usar o sgbd navicat é necessário instalar o mysqlserver  ou o navicat já traz no pacote dele ao instalar?
      Aguardo.
       
    • By Anderson Maciel
      Boa tarde pessoal,

      Estou quebrando a cabeça para resolver um problema, tenho uma div dinâmica que carrega uma <table> em uma das colunas deveria apresentar o componente Switchery, esta <table> é montada a partir de uma função PHP que faz o select em uma tabela do banco de dados conforme abaixo:
       
      echo '<table class="table table-hover"> <thead> <tr> <th>Nome</th> <th>Agrupamento</th> <th>Ativo</th> </tr> </thead> <tbody>'; foreach($data as $row) { If ($row['ativo'] == 1) {$vativochk = "checked";} else {$vativochk = "";} echo '<tr> <td>'.$row['nome'].'</td> <td>'.$row['agrupamento'].'</td> <td><input type="checkbox" name="ativo_grid" class="js-switch" '.$vativochk.' disabled="disabled"></td> </tr>'; } echo ' </tbody> </table>'; Aqui está o Ajax que chama e retorna atualizando a DIV:
      //funcoes do grid dos graficos function atualiza_grid_graficos() { $.ajax({ type: "POST", url: "hubfuncind.php", data: { id_tabindicadores_paineis: $('#id_tabindicadores_paineis').val(), acao: "gridgraficos" }, success: function(data) { $('#conteudo').html(data); } }); } O retorno vem certinho, mas apenas o componente Switchery está vindo desconfigurado, ou seja vem um checkbox normal (html).

      O que é mais incrível é que neste mesmo formulário mais acima tenho este mesmo componente funcionando normalmente, somente dentro da DIV dinâmica é que fica desconfigurado conforme imagem anexa.

      Será que alguém já passou por isso?

    • By violin101
      Caros amigos membros do grupo, saudações...
       
      Gostaria de tirar uma dúvida com os amigos.
       
      Tenho uma rotina onde consigo efetuar o Download de arquivos para uma pasta dentro do sistema, o que preciso seria mudar o nome do arquivo, por exemplo:
       
      após selecionar  o arquivo criado com o nome de: ESTOQUE.PDF
       
      gostaria de gravar na pasta de upload's com um novo nome, como por exemplo: cliente[1]-estoque.pdf.
       
      Onde poderia fazer essa alteração na rotina abaixo, para gravar o arquivo com um novo nome ?
       
      abaixo posto o fonte da rotina.
      <?php public function anexar() { $this->load->library('upload'); $this->load->library('image_lib'); $upload_conf = array( 'upload_path' => realpath('./assets/anexos'), 'allowed_types' => 'pdf|PDF|doc|DOC|docx|DOCX', // formatos permitidos para anexos de os 'max_size' => 1024, ); //Recebe a variável via POST $validade = $this->input->post('validade'); $this->upload->initialize($upload_conf); foreach ($_FILES['userfile'] as $key => $val) { $i = 1; foreach ($val as $v) { $field_name = "file_".$i; $_FILES[$field_name][$key] = $v; $i++; } } unset($_FILES['userfile']); $error = array(); $success = array(); foreach ($_FILES as $field_name => $file) { if (! $this->upload->do_upload($field_name)) { $error['upload'][] = $this->upload->display_errors(); } else { $upload_data = $this->upload->data(); if ($upload_data['is_image'] == 1) { // set the resize config $resize_conf = array( 'source_image' => $upload_data['full_path'], 'new_image' => $upload_data['file_path'].'thumbs/thumb_'.$upload_data['file_name'], 'width' => 200, 'height' => 125 ); $this->image_lib->initialize($resize_conf); if (! $this->image_lib->resize()) { $error['resize'][] = $this->image_lib->display_errors(); } else { $success[] = $upload_data; $this->load->model('Dados/Dadosclie_model'); $this->Dadosclie_model->anexar($this->input->post('idCli'), $this->input->post('descricao'), $validade, $upload_data['file_name'], base_url().'assets/anexos/', 'thumb_'.$upload_data['file_name'], realpath('./assets/anexos/')); } } else { $success[] = $upload_data; $this->load->model('Dados/Dadosclie_model'); $this->Dadosclie_model->anexar($this->input->post('idCli'), $this->input->post('descricao'), $validade, $upload_data['file_name'], base_url().'assets/anexos/', '', realpath('./assets/anexos/')); } } } if (count($error) > 0) { echo json_encode(array('result'=> false, 'mensagem' => 'Nenhum arquivo foi anexado.')); } else { echo json_encode(array('result'=> true, 'mensagem' => 'Arquivo(s) anexado(s) com sucesso .')); } } ?>  
      Grato,
       
      Cesar
    • By ViniciusRamoa
      Oi! Quando eu comecei a estudar php e logica de programação, é que uma das primeiras coisas que precisamos ter é uma noção exata do que queremos fazer, entao, o que eu estou querendo fazer, eu diria que é bem ousado para um iniciante, mas eu estou estudando e meu único foco é criar um de conteudos simples para meu site, será apenas para uso pessoal, nal tenho interesse em vender, mas iria disponibilizar para download , caso alguém queira, ele irá apenas postar conteúdos, apagar, editar e somente isso, não editará banner, ou layout ou qualquer outra coisa. Quero criar um sistema de loguin e dar permissão para apenas quem tiver o "rank 2" será considerado um adm e poderá postar.
      Nesse campo de postagem, terá apenas os campos de:
      Titulo
      Imagem (thumbnail)
      Link da página  (pois será um post clicavel, como um cardbox que ira redirecionar o visitante para a página destinada apenas àquele  conteudo) 
      Descrição 
      Apenas  isso
      Então, eu estou estudando PHP, no início ainda, mas é possivel eu criar tal ferramente em quanto tempo em média com a experiência que vocês ja possuem? 
      E outra, qual caminho devo seguir? Quero apenas criar o gerenciador de conteudo e sistema de loguin, tem algum "caminho" que eu deva seguir? Tenho que focar mais em x area para atingir o que eu quero e nao focar em y area, pois será perda de tempo? Como eu disse, quero apenas criar isso, e futuramente me aprofundar mais
      Então, possui alguma dica, orientação, link ou qualquer coisa que possa me ajudar a pelo menos ver qual caminho seguir, levando em conta que estou estudando por conta propria e nao tenho quem me orientar? Obrigado 
    • By renzogr
      Olá Masters
       
      Estou precisando incluir uma string num campo de uma tabela mysql.
      É o seguinte:
      Tenho um campo contendo instruções de uma receita culinária e preciso colocar a string "-- " (sem aspas) no início de cada linha do campo das instruções.
      Já tentei o 
      UPDATE tabela SET variavel = concat("-- ", variavel); mas ele só altera a primeira linha...  Preciso encontrar as demais linhas dentro do campo e colocar a string na frente.
       
      Alguém tem uma ideia de como fazer ?
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.