Verificando dados no banco
Olá pessoal tudo bem? Estou necessitando de uma força com um código aqui, vou tentar ser o mais claro possível. É o seguinte, tem esta tabela em meu banco de dados:
DROP TABLE IF EXISTS `pipeline_documentos`;
CREATE TABLE `pipeline_documentos` (
`documento_id` int(11) NOT NULL auto_increment,
`documento_nome` varchar(255) default NULL,
`documento_nome_original` varchar(255) default NULL,
`documento_type` varchar(255) default NULL,
`documento_tamanho` varchar(255) default NULL,
`documento_especie` varchar(255) default NULL,
`documento_label` varchar(255) default NULL,
`documento_data` varchar(255) default NULL,
`user_id` int(11) default NULL,
`segurado_id` int(11) default NULL,
`negocio_id` int(11) default NULL,
`objeto_id` int(11) default NULL,
PRIMARY KEY (`documento_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
A função dela será armazenar documentos enviados no sistema, o que vai separa um documento do outro são as colunas "documento_especie" e "documento_especie", e seus ID relacionados (segurado_id,negocio_id,objeto_id), em media serão de 5 a 7 documentos enviados, variam por causa da CNH e/ou CPF e RG que podem ou não serem enviados juntos ou apenas um deles.
Então o que preciso é verificar se um documento já foi enviado ou não e retornar um erro para não deixar o usuário avançar caso algum documento não exista no sistema. Comecei a rascunha alguma coisa, porém não senti muita segurança nisso:
function verifica_documentos($segurado_id,$negocio_id,$objeto_id,$retonar=false){
#Documenro Objeto
#Declaração de Ofereta
#Proposta Assinada
#CNH
#CPF e RG
#$documentos = array('Documenro Objeto','Declaração de Ofereta','Proposta Assinada','CNH','CPF','RG');
$erro = Array();
$erros = '0';
$sel_doc_1 = $this->seleciona("SELECT * FROM pipeline_documentos WHERE negocio_id='".$negocio_id."' AND documento_label='negocio'");
$contar_negocio = mysql_num_rows($sel_doc_1);
if($contar_negocio < '2'){
$erro[] = 'Declaração de Ofereta e/ou Proposta Assinada';
$erros++;
}
$sel_doc_2 = $this->seleciona("SELECT * FROM pipeline_documentos WHERE segurado_id='".$segurado_id."' AND documento_label='segurado'");
$contar_segurado = mysql_num_rows($sel_doc_2);
if($contar_segurado < '1'){
$erro[] = 'CNH, CPF e/ou RG';
$erros++;
}
$sel_doc_3 = $this->seleciona("SELECT * FROM pipeline_documentos WHERE negocio_id='".$negocio_id."' AND objeto_id='".$objeto_id."' AND documento_label='objeto'");
$contar_objeto = mysql_num_rows($sel_doc_3);
if($contar_objeto == '0'){
$erro[] = 'Documenro Objeto Segurado';
$erros++;
}
if($retonar == 'lista_erros'){
$sql = implode( ' ),( ',$erro );
return '('.$sql.')';
}else if($retorna = 'numero_erros'){
return $erros;
}
}
Existe uma forma mais simplificada? Onde possa chegar ao mesmo resultado ou a um melhor resultado? Desde já agradeço a colaboração de todos que se prontificarem a ajudar.
Discussão (2)
Carregando comentários...