Gerar registro de protocolo de cliente

Haroldo,

Funcionou direitinho, o prontuario esta igual o id_paciente ex: id 118 prontuario: PRON000118

Na hora de incluir, o prontuario esta PRON000000, como na imagem abaixo em anexo.
Tem como ele não aparecer na hora da inclusão? Como faço para gravar o PRON000118 no campo numero_paciente? Devo salva-lo em Valor no Banco de Dados (Atualização) como oq?

Obrigada mais uma vez pela ajuda e paciência.


pacinumero.png

teste o id do paciente se for zero vc move “” para o campo manual.

Entra no campo e coloca ele pra ser visualizado só na atualização, ele esta aparecendo zerado porque na inserção o id-pciente ainda não existe. Outra coisa, seria melhor você criar mais um campo na sua tabela chamado ex: prontuario, e gravar esse número porque sempre que você quiser exibir o campo, por exemplo em outra aplicação, você terá que fazer tudo o que voce esta fazendo nessa aplicação, ou então você pode criar uma function em uma biblioteca externa e chamar ela informando o campo e a saída que você quer.

Por exemplo:

function Prontuario($string1, $campo, $casas, $string2){

$campo = $string1.str_pad($campo, $casas, $string2, STR_PAD_LEFT);
return $campo;
}
//$string1 = Variável que armazena a string de concatenação inicial //$campo = O campo que contém o ID do paciente ou prontuário //$casas = Quantidade de vezes que será repetida a $string2 //$string2 = Numero ou inteiro que se repetirá nesse caso a esquerda depois da concatenação

Você usaria a função atribuindo ela ao campo ou variável que você quiser:

$variável = Prontuario("PRON", {id_paciente}, 5, "0");

Saulo,

Ficou assim, ve se esta correto por favor:

<?php 1| 2| 3| function Paciente({numero_paciente}, {id_paciente}, 5, 0){ 4| {id_paciente} = {numero_paciente}.str_pad({id_paciente}, 5, 0, STR_PAD_LEFT); 5| return {id_paciente}; 6| } 7| ?>

Coloquei no evento - onload:

{numero_paciente} = Paciente(“PAC”, {id_paciente}, 5, “0”);

//$string1 = Variável que armazena a string de concatenação inicial - numero_paciente
//$campo = O campo que contém o ID do paciente ou prontuário - id_paciente
//$casas = Quantidade de vezes que será repetida a $string2 -5
//$string2 = Numero ou inteiro que se repetirá nesse caso a esquerda depois da concatenação - 0

Depois disso tudo esta dando erro:

form_paciente_laudo\form_paciente_laudo_apl.php on line 3212

A linha -> $this->numero_paciente = Paciente(“PAC”, $this->id_paciente , 5, “0”);

Tem alguma coisa errada, mas não sei.

Esta errada sua função.

Olhe no manual do php como criar funções.

Haroldo,

Ficou assim:

{numero_paciente} = “PAC”.str_pad({id_paciente}, 6, “0”, STR_PAD_LEFT);

ta correto?

Se for assim, continua o mesmo problema e o id quando incluo esta zerado.

Foi a função que o Saulo mandou .

A construção da função esta estranha.

function Paciente($_numero_paciente, $_id_paciente, $_tamanho=5, $_valor_a_esquerda="0"){ $_retorno = $_numero_paciente.str_pad($_id_paciente, $_tamanho,$_valor_a_esquerda, STR_PAD_LEFT); return $_retorno; }

Mas criar uma função para executar uma unica linha de comando? da no mesmo que executar a linha de comando direto.