Jump to content
Daniel Cruz

CADASTRAR PARCELAS NO BANCO DE DADOS

Recommended Posts

Bom dia, Gostaria de saber como faço para inserir o resultado das parcelas no banco de dados..

Segue o codigo..

 

<?php

// DATA PARA A PRIMEIRA PARCELA A PAGAR
/////////// ANO, MÊS, DIA
$val = "R$ 180,00";
$DP = Array(2018, 05, 31);

// QUANTIDADE DE PARCELAS
$parcelas = 12;

// ARRAY PARA AS DATAS
$data_array = Array($DP[0], $DP[1], $DP[2]);
$data_array2 = Array($DP[0], $DP[1], $DP[2]);

// ARMAZENANDO MÊS DA DATA MENOS 1
$n = $data_array[1]-1;
$v_i = $n;

// FOR PRINCIPAL
for($i = 0; $i < $parcelas; $i++) {
$v_i++;

// BASE PARA SOMAR OS MESES
$v = strtotime ( '+'.$i.' month' , strtotime(implode("-", $data_array))) ;
$v2 = strtotime ( '+'.$i.' month' , strtotime(implode("-", $data_array2))) ;
$nd = date ( 'Y-m-d' , $v );
$nd2 = date ( 'Y-m-d' , $v2 );

// PEDAÇOS DA DATA DO LAÇO
$p = explode("-", $nd);

// ATÉ 12 MÊSES
if($v_i <= 12) {

// BASE DO MÊS ATUAL
$base_mes = date("Y-m-t", strtotime($nd));

// PEGANDO O ÚLTIMO DIA DO MÊS DO LAÇO
$forma_data = $p[0].'-'.$v_i.'-01';
$ultimo_dia_do_mes = date("Y-m-t", strtotime($forma_data));
$b1 = explode("-", $base_mes); // EXPLODE DO BASE MES
$b2 = explode("-", $ultimo_dia_do_mes); // EXPLODE DO ULTIMO DIA DO MÊS

if($b1[2]!=$b2[2]) {
echo "$val || {$b2[0]}-{$b2[1]}-{$b2[2]}<br>";
} else {
echo "$val || {$b1[0]}-{$b1[1]}-{$data_array[2]}<br>";
}

}
// ATÉ 12 MÊSES

// DE 12 À 24 MESES
elseif($v_i > 12 && $v_i <= 24) {

// BASE DO MÊS ATUAL
$base_mes = date("Y-m-t", strtotime($nd));

// PEGANDO O ÚLTIMO DIA DO MÊS DO LAÇO
$forma_data = $p[0].'-'.($v_i-12).'-01';
$ultimo_dia_do_mes = date("Y-m-t", strtotime($forma_data));
$b1 = explode("-", $base_mes); // EXPLODE DO BASE MES
$b2 = explode("-", $ultimo_dia_do_mes); // EXPLODE DO ULTIMO DIA DO MÊS

if($b1[2]!=$b2[2]) {
echo "$val || {$b2[0]}-{$b2[1]}-{$b2[2]}<br>";
} else {
echo "$val || {$b1[0]}-{$b1[1]}-{$data_array[2]}<br>";
}

}
// DE 12 À 24 MESES

// DE 24 À 36 MESES
elseif($v_i > 24 && $v_i <= 36){

// BASE DO MÊS ATUAL
$base_mes = date("Y-m-t", strtotime($nd));

// PEGANDO O ÚLTIMO DIA DO MÊS DO LAÇO
$forma_data = $p[0].'-'.($v_i-24).'-01';
$ultimo_dia_do_mes = date("Y-m-t", strtotime($forma_data));
$b1 = explode("-", $base_mes); // EXPLODE DO BASE MES
$b2 = explode("-", $ultimo_dia_do_mes); // EXPLODE DO ULTIMO DIA DO MÊS

if($b1[2]!=$b2[2]) {
echo "$val || {$b2[0]}-{$b2[1]}-{$b2[2]}<br>";
} else {
echo "$val || {$b1[0]}-{$b1[1]}-{$data_array[2]}<br>";
}

}
// DE 24 À 36 MESES

// DE 36 À 48 MESES
elseif($v_i > 36 && $v_i <= 48){

// BASE DO MÊS ATUAL
$base_mes = date("Y-m-t", strtotime($nd));

// PEGANDO O ÚLTIMO DIA DO MÊS DO LAÇO
$forma_data = $p[0].'-'.($v_i-36).'-01';
$ultimo_dia_do_mes = date("Y-m-t", strtotime($forma_data));
$b1 = explode("-", $base_mes); // EXPLODE DO BASE MES
$b2 = explode("-", $ultimo_dia_do_mes); // EXPLODE DO ULTIMO DIA DO MÊS

if($b1[2]!=$b2[2]) {
echo "$val || {$b2[0]}-{$b2[1]}-{$b2[2]}<br>";
} else {
echo "$val || {$b1[0]}-{$b1[1]}-{$data_array[2]}<br>";
}

}
// DE 36 À 48 MESES

// DE 48 À 60 MESES
elseif($v_i > 48 && $v_i <= 60){

// BASE DO MÊS ATUAL
$base_mes = date("Y-m-t", strtotime($nd));

// PEGANDO O ÚLTIMO DIA DO MÊS DO LAÇO
$forma_data = $p[0].'-'.($v_i-48).'-01';
$ultimo_dia_do_mes = date("Y-m-t", strtotime($forma_data));
$b1 = explode("-", $base_mes); // EXPLODE DO BASE MES
$b2 = explode("-", $ultimo_dia_do_mes); // EXPLODE DO ULTIMO DIA DO MÊS

if($b1[2]!=$b2[2]) {
echo "$val || {$b2[0]}-{$b2[1]}-{$b2[2]}<br>";
} else {
echo "$val || {$b1[0]}-{$b1[1]}-{$data_array[2]}<br>";
}

}
// DE 48 À 60 MESES

else {
} // FIM DO ELSEIF
} // FIM DO FOR PRINCIPAL

?>

Share this post


Link to post
Share on other sites

Amigo, tenho um código dos poucos de minha autoria que faz isso

//codigo
while($contador < $parcela){
	$parcelar = $contador + 1; //numero da parcela que vai no carne
	
	$d = explode("-", $data);
		$dia = $d[0];
		$mes = $d[1];
		$ano = $d[2];

	if($vencimento == ""){
		
			if($mes == 12){
				$m = $d[1] - 11;
				$conta = strlen($m);
				if($conta < 2){
					$mes =  str_pad($m, 2, '0',  STR_PAD_LEFT);
				}
				else{
					$mes = $m;
				}
				$ano = $d[2] + 1;
				$vencimento = $dia."-".$mes."-".$ano;	
			}
			else{
				$m = $d[1] + 1;
				$conta = strlen($m);
				if($conta < 2){
					$mes =  str_pad($m, 2, '0',  STR_PAD_LEFT);
				}
				else{
					$mes = $m;
				}
				$vencimento = $dia."-".$mes."-".$ano;
		}
		
	}
	else{
		$vencimento = $a;	
	}
	
	do {
            $c = gerabarras();
			$codigo = $c;
			//validação de CB
			$cb = "SELECT codigo_barra FROM base dedados WHERE codigo_barra = '$codigo'";
			$query_cb = DBExecute($cb);
			$linha_cb = mysqli_num_rows($query_cb);
				if($linha_cb == 0){
					$codigo = $c;
					break;
				}
				else{
					$f = gerabarras();
					$codigo = $f;
					$cba = "SELECT codigo_barra FROM ds_mensalidade WHERE codigo_barra = '$codigo'";
					$query_cba = DBExecute($cba);
					$linha_cba = mysqli_num_rows($query_cba);
						if($linha_cba == 0){
						$codigo = $f;
						break;
						}
				}
		} while ($linha_cba >= 1);
		
//grava o codigo de barras e a mensaliade	
	$sql  = "INSERT INTO ;
	$sql .= "VALUES ()";		
	DBExecute($sql);
	
	$da = explode("-", $vencimento);
		$diaa = $da[0];
		$mesa = $da[1];
		$anoa = $da[2];
	
	if($mesa == 12){
		$me = $da[1] - 11;
		$contaa = strlen($me);
				if($contaa < 2){
					$mesa =  str_pad($me, 2, '0',  STR_PAD_LEFT);
				}
				else{
					$mesa = $me;
				}
		$anoa = $da[2] + 1;
		$a = $diaa."-".$mesa."-".$anoa;	
	}
	else{
		$me = $da[1] + 1;
		$contaa = strlen($me);
				if($contaa < 2){
					$mesa =  str_pad($me, 2, '0',  STR_PAD_LEFT);
				}
				else{
					$mesa = $me;
				}

		$a = $diaa."-".$mesa."-".$anoa;
	}	
	$contador++;	
}

O inicio do código, pega a data inicial, a qual vai ser adicionado 30 dias (esta serve para que sempre se vença no mesmo dia, pois se ajustar os 30 dias exatos, sempre tera uma data de vencimento diferente), depois ele gera o codigo de barras EAN13, o mesmo padrão de produtos e não o bancario, depois de validar, ele grava a parcela, e no final ele pega a data gerada no inicio e repete o ciclo.

 

tenta modificar pro seu uso

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 Chris Martin
      Pessoal, estou com um problema com relacionamentos no laravel. (Inclusive pode ser até falta de atenção minha), mas quebrei a cabeça demais e não consegui; Tenho as tabelas 'arquiteto' e 'cliente' e um arquiteto tem vários clientes, só que não consegui fazer o relacionamento aparecer na tabela 'cliente' tenho o campo `arquiteto_id' que referencia o 'id' da tabela 'arquitetos', só que quando fiz a relação na model Arquiteto ela não está aparecendo class Arquiteto extends Model{ protected $fillable = [...]; public function clientes() { return $this->hasMany('App\Cliente'); } }  
    • By inousi
      Quando faço login, não reconhece user/email já registrado anteriormente no bd.
      Scripts para registro e login de usuário:
      - registro usuário.php
      - server.php
      - login.php
      O de registro de usuário está ok. Faz o registro no bd (mysql).
      O de login resulta na mensagem: "Wrong username/password". (linha 79 do server.php) - apesar de ter sido confirmado o registro e conferida sua gravação no bd (users.php)
       
      script server.php
      <?php session_start(); // initializing variables $user_name = ""; $user_email = ""; $errors = array(); // connect to the database $db_sys = mysqli_connect('localhost', 'root', '', 'sys'); // REGISTER USER if (isset($_POST['user_reg'])) { // receive all input values from the form $user_name = mysqli_real_escape_string($db_sys, $_POST['user_name']); $user_email = mysqli_real_escape_string($db_sys, $_POST['user_email']); $user_pass1 = mysqli_real_escape_string($db_sys, $_POST['user_pass1']); $user_pass2 = mysqli_real_escape_string($db_sys, $_POST['user_pass2']); // form validation: ensure that the form is correctly filled ... // by adding (array_push()) corresponding error unto $errors array if (empty($user_name)) { array_push($errors, "Username is required"); } if (empty($user_email)) { array_push($errors, "Email is required"); } if (empty($user_pass1)) { array_push($errors, "Password is required"); } if ($user_pass1 != $user_pass2) { array_push($errors, "The two passwords do not match"); } // check the database a user does not already exist with the same username and/or email $user_check_query = "SELECT * FROM users WHERE user_name='$user_name' OR user_email='$user_email' LIMIT 1"; $result = mysqli_query($db_sysgo, $user_check_query); $user = mysqli_fetch_assoc($result); if ($user) { // if user exists if ($user['user_name'] === $user_name) { array_push($errors, "Username already exists"); } if ($user['user_email'] === $user_email) { array_push($errors, "email already exists"); } } // Register user if there are no errors if (count($errors) == 0) { //encrypt the password $user_pass = md5($user_pass1); $query = "INSERT INTO users (user_name, user_email, user_pass) VALUES('$user_name', '$user_email', '$user_pass')"; mysqli_query($db_sys, $query); $_SESSION['user_name'] = $user_name; $_SESSION['success'] = "You are now logged in"; header('location: index.php'); } } // LOGIN USER if (isset($_POST['login'])) { $user_name = mysqli_real_escape_string($db_sys, $_POST['user_name']); $user_pass = mysqli_real_escape_string($db_sys, $_POST['user_pass']); if (empty($user_name)) { array_push($errors, "Username is required"); } if (empty($user_pass)) { array_push($errors, "Password is required"); } if (count($errors) == 0) { $user_pass = md5($user_pass); $query = "SELECT * FROM users WHERE user_name='$user_name' AND user_pass='$user_pass'"; $results = mysqli_query($db_sys, $query); if (mysqli_num_rows($results) == 1) { $_SESSION['user_name'] = $user_name; $_SESSION['success'] = "You are now logged in"; header('location: index.php'); }else { //AQUI ESTÁ O ERRO QUE MOSTRA array_push($errors, "Wrong username/password"); } } } ?> <?php if (count($errors) > 0) : ?> <div class="error"> <?php foreach ($errors as $error) : ?> <p><?php echo $error ?></p> <?php endforeach ?> </div> <?php endif ?>  
      login.php
      <?php include('server.php') ?> <!DOCTYPE html> <html> <head> <title>Login</title> <link rel="stylesheet" type="text/css" href="user_style.css"> </head> <body> <div class="header"> <h2>Login</h2> </div> <form method="post" action="login.php"> <?php include('errors.php'); ?> <div class="input-group"> <label>Username</label> <input type="text" name="user_name" > </div> <div class="input-group"> <label>Password</label> <input type="password" name="user_pass"> </div> <div class="input-group"> <button type="submit" class="btn" name="login">Login</button> </div> <p> Not yet a member? <a href="reg_user.php">Sign up</a> </p> </form> </body> </html>  
    • By Sapinn
      Salveee! Certo a dúvida que trarei aqui agora é bem complexa e eu sinceramente não sei se é realmente possível mas acho que não custa nada perguntar.
       
      Fiz um site de envio de textos, onde o aluno envia um texto e o professor corrigi até ai blz, queria saber como eu poderia fazer pra quando o professor marcar uma palavra aprece-se uma caixa de dialogo onde ele colocaria, por exemplo, a correção da palavra ou alguma explicação e essas informações seriam enviadas para o banco de dados quando o aluno acessa a correção desse texto e o ele passa-se  mouse por cima dessa palavra apareceria a correção em um balãozinho. Como exemplo desse comportamento que acabei de citar temos o google documents que faz algo desse jeito. Queria saber se isso pode ser possível sem exigir muito código ou muita coisa. Desde já agradeço.
    • By vmmh
      Alguma alma caridosa que me possa ajudar ?
      há dias que ando com este problema e não consigo resolver. Ficaria eternamente grato se alguém pudesse ajudar
       
      o codigo abaixo em localhost funciona na perfeição , mas em produção , no lado do servidor , nada... HTTP error 500.
      o pedido que estou a fazer está noutro dominio com porta 81 e no meu dominio uso certificado de segurança. Será por aí?
      de qualquer forma o wsdl está   aqui:
       
       
      $client = new SoapClient('https://dekrainspecoes.pt/acp/PROD_CustomUI_ACP_Member_Validation_WS.WSDL');
      $result = $client->QueryByNumCartao(array('N_Cartao' => "705684011673122085"));
      if (!empty($result->QueryByNumCartao_Output->Cartao_Ativo)) {
       
          echo 'The userId : '.$result->QueryByNumCartao_Output ->Pessoa_ID;
      }
       
      $JSON = json_encode($result);
    • By tiagodolf
      Bem, quero que o PHP mostre o resultado de um questionario, porem no começo ja apresenta erro. Sou leigo em PHP.


      CODE HTML:



      CODE PHP:


      ERRO APRESENTAD:

×

Important Information

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