Olá sou novo aqui no fórum , pelo o que olhei no seu código e no que você deseja fazer não vi necessidade nesse FOR dentro do WHILE .. você declarou a variável X como 1 e depois fala no WHILE que tem que ser maior ou igual ao número de parcelas.
$valor_parc = intval($valor_curso) / $periodo_curso_meses;
E nesse caso não seria o $valor_curso/$n_parc_matricula ? Não entendi o porque selecionar o numero de parcelas na matricula e o valor parcelado já ser o periodo do curso.
<?php
if($resultmatricula){
echo "<script>alert('Matrícula realizada com sucesso.');</script>";
for ($x = 1; $x <= $n_parc_matricula; $x++) {
$dia = date("d");
$mes = date("m") + $x;
$ano = date("Y");
$dt_venc_pr = date("Y/m/d",mktime(0, 0, 0,$mes,$dia,$ano));
echo "Parcela $x : $dt_venc_pr --- Valor : $valor_parc <br>";
}
}
?>
Não acha que assim seria mais interessante? Ele pega a quantidade de parcelas e vai somando aos meses até o desejado. E seu mktime estava com $mes e $dia invertidos.
Ta ai um teste de um curso no valor de 5000 em 8 parcelas com vencimento no dia 25.