Estou iniciando em PHP e no Scriptcase.
Eu preciso que seja feito o calculo no módulo 11 e o resultado seja apresentado em um campo de meu formulário.
Encontrei essa função no boletophp
[code]function modulo_11($num, $base=9, $r=0) {
/**
* Autor:
* Pablo Costa pablo@users.sourceforge.net
*
* Função:
* Calculo do Modulo 11 para geracao do digito verificador
* de boletos bancarios conforme documentos obtidos
* da Febraban - www.febraban.org.br
*
* Entrada:
* $num: string numérica para a qual se deseja calcularo digito verificador;
* $base: valor maximo de multiplicacao [2-$base]
* $r: quando especificado um devolve somente o resto
*
* Saída:
* Retorna o Digito verificador.
*
* Observações:
* - Script desenvolvido sem nenhum reaproveitamento de código pré existente.
* - Assume-se que a verificação do formato das variáveis de entrada é feita antes da execução deste script.
*/
$soma = 0;
$fator = 2;
/* Separacao dos numeros */
for ($i = strlen($num); $i > 0; $i--) {
// pega cada numero isoladamente
$numeros[$i] = substr($num,$i-1,1);
// Efetua multiplicacao do numero pelo falor
$parcial[$i] = $numeros[$i] * $fator;
// Soma dos digitos
$soma += $parcial[$i];
if ($fator == $base) {
// restaura fator de multiplicacao para 2
$fator = 1;
}
$fator++;
}
/* Calculo do modulo 11 */
if ($r == 0) {
$soma *= 10;
$digito = $soma % 11;
if ($digito == 10) {
$digito = 0;
}
return $digito;
} elseif ($r == 1){
$resto = $soma % 11;
return $resto;
}
}[/code]
Coloquei esse código no evento onBeforeInsert
Minha dificuldade é a seguinte, a function começa assim:
function modulo_11($num, $base=9, $r=0)
Este $num será o número que vai ser feito a leitura para calculo do digito, no meu banco de dados ele chama ndocto.
Já tentei fazer $num = {ndocto} (antes de iniciar a função) já tentei substituir $num por docto na function e não obtive sucesso.
É claro que o mesmo está acontecendo para trazer o valor (digito) para o meu campo ndig.
Como devo proceder? Para que o valor do digito apareça em meu campo ndig.
Abraços e obrigado.