Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ghlevin

PHP e Javascript - Múltiplos cadastros em banco MySQL

Recommended Posts

No site que assumi de um desenvolvedor anterior, faz-se o cadastro de investidores um por um após uma busca no sistema chamado CM. A função chama-se cadastraInvestidor:
function cadastraInvestidor(codigoCM){ // TODO 2/4/2015 - Cadastro de investidor com código CM
function iniciaDataTableUH(tableName, sort, sortType){
$('#'+tableName+'').dataTable(
{
"sDom" : '<"top"p<"clear">>',
"oLanguage" : {
"sLengthMenu" : "Mostrando _MENU_ Técnicos por página",
"sZeroRecords" : "SEM REGISTROS",
"sInfo" : "Mostrando _START_ a _END_ de _TOTAL_ Técnicos Localizados",
"sInfoEmpty" : "Mostrando 0 a 0 de 0 Técnicos Localizados",
"sInfoFiltered" : "(Filtrou de _MAX_ Técnicos)"
},
"sPaginationType" : "full_numbers",
"bLengthChange" : true,
"iDisplayLength" : 5,
"bFilter" : false,
"bSort" : true,
"bRetrieve": true,
"bInfo" : true,
"bAutoWidth" : false,
"aaSorting" : [ [ sort, sortType ] ],
"fnDrawCallback" : function() {
$('#'+tableName+'_previous').hide();
$('#'+tableName+'_first').hide();
$('#'+tableName+'_second').hide();
$('#'+tableName+'_last').hide();
$('#'+tableName+'_next').show();
if ($('.paginate_active').html() != '1') {
$('#'+tableName+'_previous').show();
if ($(
"#"+tableName+"_paginate span .paginate_button:last")
.text() < $(
"#"+tableName+"_paginate span .paginate_active:last")
.text())
$('#'+tableName+'_next').hide();
} else {
$('#'+tableName+'_previous').hide();
}
if ($("#"+tableName+"").find(
"tr:not(.ui-widget-header)").length <= $(
"#"+tableName+"_length option:selected")
.text()
&& $('.paginate_active').html() == '1') {
$('div.dataTables_paginate')[0].style.display = "none";
} else {
$('div.dataTables_paginate')[0].style.display = "block";
}
}
});
$('#'+tableName+'_previous').html('<');
$('#'+tableName+'_next').html('>');


$('#tableCadInvestidores_paginate').css('display','none');
$('#tableInvestidores_paginate').css('display','none');
}


$.ajax({
 async: true, cache:false, 
 url: '[:raiz]cadAdmin/getDetalhesInvestidorCM',
 data: {
 codigoCM: codigoCM
 },
 dataType: 'json',
 success: function(data) {
 if (data == 'erro'){
$("#erroInvestidorJaCadastrado").dialog( {
buttons : {
Ok : function() {
$(this).dialog('close');
}
},
modal : true,
autoOpen : false,
resizable : false,
closeOnEscape : false,
open : function(event, ui) {
$(".ui-dialog-titlebar-close").hide();
}
}); 
$("#erroInvestidorJaCadastrado").dialog('open');
 } else {
  var arrayContatos = new Array();
  var close = $('#lblCancelar').val();
var save = $('#lblSalvar').val();
var dialog_buttons = {};  


dialog_buttons[close] = function(){
$( this ).dialog( "close" );
};
dialog_buttons[save] = function(){


$.ajax({
 async: true, cache:false, 
 url: '[:raiz]cadAdmin/validaEmailInvestidorCM',
 data: {
 codigoCM: codigoCM
 },
 dataType: 'json',
 success: function(dt) {


 var info = new Array();
 info[0] = $('#lblInfo0').val();
 info[1] = $('#lblInfoConfDadosCM1').val();
 info[2] = $('#lblInfoSalvaInvest2').val();
 info[3] = $('#lblInfoSalvaInvest3').val();
 info[4] = $('#lblInfoSalvaInvest4').val();
 info[5] = $('#lblInfoSalvaInvest5').val();
 info[6] = $('#lblInfoSalvaInvest6').val();
 info[7] = $('#lblInfoSalvaInvest7').val();
 info[8] = $('#lblInfoSalvaInvest8').val();
 info[9] = $('#lblInfoSalvaInvest9').val();
 info[10] = $('#lblInfo9').val();
 info[11] = $('#lblInfoCom7').val();
 info[12] = $('#lblInfo11').val();
 info[13] = $('#lblInfoCom8').val();
 info[14] = $('#lblInfoConfDadosCM25').val();
 info[15] = $('#lblInfo12').val();


 data['info']=info;


 if(dt=='1'){ //VALIDAÇÃO EMAIL DT=0 CERTO DT=1 ERRADO DT=2 E-MAIL EM BRANCO
 $("#erroEmail").dialog( {
buttons : {
Ok : function() {
$(this).dialog('close');
}
},
modal : true,
autoOpen : false,
resizable : false,
closeOnEscape : false,
    width: 500,
    height: 120,
open : function(event, ui) {
$(".ui-dialog-titlebar-close").hide();
}
}); 
 $('#erroEmail').dialog('open');
 }
  else if(dt=='0') {
  $.ajax({
 async: true, cache:false, 
 url: '[:raiz]cadAdmin/cadastraInvestidorCM',
//  data: ({
data : data,
//}),
 type: "POST",
 dataType: 'json',
 success: function(dados) {


$("#erroUhSemUnidade,#sucessoSalvaCM,#erroEmailInvestidor,#erroLoginInvestidor").dialog( {
buttons : {
Ok : function() {
$(this).dialog('close');
}
},
modal : true,
autoOpen : false,
resizable : false,
closeOnEscape : false,
    width: 500,
open : function(event, ui) {
$(".ui-dialog-titlebar-close").hide();
}
}); 


 $.ajax({
 cache:false, 
 data: ({
 codigoCM: codigoCM,
 preferencias: (data['tipo'] == 'F' ? $('#txtPreferenciasF').val() : $('#txtPreferenciasJ').val()),
 comportamento: (data['tipo'] == 'F' ? $('#txtComportamentoF').val() : $('#txtComportamentoJ').val()) 
 }),
 url: '[:raiz]cadAdmin/salvaInfoInvestidorCodigoCM',
 dataType: 'json',
 success: function(dt) { 
//$('#modalDadosSalvos').dialog('open');
 $.ajax({
 cache:false, 
 data: ({
 codigoCM: codigoCM,
 arrayContatos : arrayContatos,
 }),
 type: "POST",
 url: '[:raiz]cadAdmin/salvaContatoInvestidor',
 dataType: 'json',
 });
 }
 });
 if(dados != null && dados != ""){
 if (dados == '2'){
 $("#erroEmailInvestidor").dialog('open');
 } 
 else if (dados == '3') {
 $("#erroLoginInvestidor").dialog('open');
 }
 else {
 if(dados.split("|")[1] != ''){
 var dadosSplit = dados.split("|");
 var tam = dadosSplit.length;
 var erros ='';
 for ( var int = 0; int < (tam-1); int++) {
 erros+=' '+dadosSplit[int];
 if (int != (tam-2)){
 erros+=',';
 }
 }
 $("#erroUhSemUnidade").html($('#errosalva').val()+erros);
 $("#erroUhSemUnidade").dialog('open');
 }else{


 $("#erroUhSemUnidade").html($('#errosalva').val()+dados.split("|")[0]);
 $("#erroUhSemUnidade").dialog('open');
 }
 }
 }else{
 $("#sucessoSalvaCM").dialog('open');
 }
 $( "#modalDetalhes" ).dialog( "close" );
 }
});
  }else if(dt=='2'){
  $("#emailEmBranco").dialog( {
buttons : {
Ok : function() {
$(this).dialog('close');
}
},
modal : true,
autoOpen : false,
resizable : false,
closeOnEscape : false,
    width: 500,
open : function(event, ui) {
$(".ui-dialog-titlebar-close").hide();
}
});    
  $("#emailEmBranco").dialog('open');
  }
 }
});
};
$('#bodyInvestidoresUh').html("");
$('#bodyInvestidoresUhJ').html("");
if(data['dataNascimento'] != 'NULL'){
 var nasc = data['dataNascimento'].split("-");
 nasc = nasc[2]+"/"+nasc[1]+"/"+nasc[0];
 }else{
var nasc = 'NULL';
 }


if (data['tipo'] == 'F'){
 var checkBox = "";
 var tamanhoModal = 670 + (50 * parseInt(data['uhs'].length));
 $('#detalhesFisica').show();
 $('#detalhesJuridica').hide();
 $('#modalDetalhes').attr('title',$('#lblDetalhesInvestidor').val());
 $('#modalDetalhes').dialog({
  width: 625,
    height: tamanhoModal,
modal: true,
buttons: dialog_buttons,
autoOpen: true,
resizable: false,
closeOnEscape: true,
position: 'top',
close: function(){


}
 });


 $('#txtPreferenciasF').val("");
 $('#txtComportamentoF').val("");


 $('#lblFisicaNome').html(data['nome'].toString().toUpperCase() == 'NULL' ? '' : data['nome'].toString()); 
 $('#lblFisicaCPF').html(data['documento'].toString().toUpperCase() == 'NULL' ? '' : data['documento'].toString());
 $('.lblFisicaDataNascimento').html(nasc.toUpperCase() == 'NULL' ? '' : nasc.toString());
 $('#lblFisicaEmail').html(data['email'].toString().toUpperCase() == 'NULL' ? '' : data['email'].toString());
 $('#lblFisicaTelefone').html(data['telefone'].toString().toUpperCase() == 'NULL' ? '' : data['telefone'].toString());
 $('#lblFisicaLogradouro').html(data['logradouro'].toString().toUpperCase() == 'NULL' ? '' : data['logradouro'].toString());
 $('#lblFisicaBairro').html(data['bairro'].toString().toUpperCase() == 'NULL' ? '' : data['bairro'].toString());   
 $('#lblFisicaCidade').html(data['cidade'].toString().toUpperCase() == 'NULL' ? '' : data['cidade'].toString());
 $('#lblFisicaEstado').html(data['estado'].toString().toUpperCase() == 'NULL' ? '' : data['estado'].toString());
 $('#lblFisicaPais').html(data['pais'].toString().toUpperCase() == 'NULL' ? '' : data['pais'].toString());
 $('#lblFisicaCargo').html(data['cargo'].toString().toUpperCase() == 'NULL' ? '' : data['cargo'].toString());
 $('#lblFisicaCC').html(data['contaCorrente'].toString().toUpperCase() == 'NULL' ? '' : data['contaCorrente'].toString());
 $('#lblFisicaAgencia').html(data['agencia'].toString().toUpperCase() == 'NULL' ? '' : data['agencia'].toString());
 $('#lblFisicaBanco').html(data['banco'].toString().toUpperCase() == 'NULL' ? '' : data['banco'].toString());


 $('#tableInvestidoresUh').show();
 var retorno = "";
 //$('#bodyInvestidoresUh').html(retorno);


 for ( var int = 0; int < data['uhs'].length; int++) {
retorno += "<tr>";
if((data['uhs'][int]['numero']).match(/^S.*$/)){
retorno += "<td>"+ 'Office' +"</td>";
} else if ((data['uhs'][int]['numero']).match(/^L.*$/) || (data['uhs'][int]['numero']).match(/^B.*$/)){
retorno += "<td>"+ 'Outros' + "</td>";
} else {
retorno += "<td>"+ (data['uhs'][int]['tipoinvestidor'] == 'P' ? 'Pool' : 'Condomínio') +"</td>";
}
retorno += "<td>"+data['uhs'][int]['numero']+" - "+data['uhs'][int]['desctipo']+"</td>";
retorno += "<td>"+data['uhs'][int]['unidade']+"</td>";
retorno += "<td>"+data['uhs'][int]['descricao']+"</td>";
retorno += "<td>"+data['uhs'][int]['participacao']+"</td>";
retorno += "</tr>";
 }
$('#bodyInvestidoresUh').html(retorno);


var contato =0;
$.ajax({
async: false, cache:false, 
url: '[:raiz]cadAdmin/getContatoInvestidorCm',
data: {
codCm: codigoCM
},
dataType: 'json',
success: function(dt) {
var contactTable = "";
if (dt[0]!=undefined && dt[0]['COUNT'] > 0){
contato = dt[0]['COUNT'];
$('#txt0DadosContato').show();
contactTable+="<table class='tables' style='width:565px;float:left;font-size: 11px;'><tr><td>"+$('#lblNome').val()+"</td>" +
"<td>"+$('#lblTel').val()+"</td><td>"+$('#lblEmail').val()+"</td></tr>";
for(var i=0;i<dt.length;i++){
arrayContatos[i] = dt[i]['NOME']+"|"+dt[i]['TELEFONE'] +"|"+ dt[i]['EMAIL']+";";
var nome = (dt[i]['NOME']!=undefined ? dt[i]['NOME'] : "");
var telefone = (dt[i]['TELEFONE']!=undefined ? dt[i]['TELEFONE'] : "");
var email = (dt[i]['EMAIL']!=undefined ? dt[i]['EMAIL'] : "");
contactTable+=("<tr><td>" + nome + " </td><td> " + telefone + " </td><td> " + email +"</td></tr>");
}
contactTable+="</table>";
$('#txt1DadosContato').show();
}else{
$('#txt1DadosContato').hide();
}
$('.dadosContato').html(contactTable);
}
}); 
var tamanhoModal = (670 + (45 * ((parseInt(data['uhs'].length)>0 ?parseInt(data['uhs'].length)+2 : 0 ))
+ ((contato>0 ? contato+2 : 0)*20))*1.22); 
$('#detalhesFisica').show();
$('#detalhesJuridica').hide();
$('#modalDetalhes').attr('title',$('#lblDetalhesInvestidor').val());
$('#modalDetalhes').dialog({
  width: 625,
    height: tamanhoModal,
modal: true,
buttons: dialog_buttons,
autoOpen: true,
resizable: false,
closeOnEscape: true,
position: 'top',
close: function(){


}
   });
} else {
 var checkBox = "";


 $('#txtPreferenciasJ').val("");
 $('#txtComportamentoJ').val(""); 


 $('#lblJuridicaNome').html(data['nome'].toString().toUpperCase() == 'NULL' ? '' : data['nome'].toString());
 $('.lblFisicaDataNascimento').html(nasc.toUpperCase() == 'NULL' ? '' : nasc.toString());
 $('#lblJuridicaCNPJ').html(data['documento'].toString().toUpperCase() == 'NULL' ? '' : data['documento'].toString());
 $('#lblJuridicaRazaoSocial').html(data['razaoSocial'].toString().toUpperCase() == 'NULL' ? '' : data['razaoSocial'].toString());
 $('#lblJuridicaTipo').html(data['tipo'].toString().toUpperCase() == 'NULL' ? '' : (data['tipo'].toString().localeCompare('F') == 0 ? "Física" : "Jurídica"));
 $('#lblJuridicaEmpresa').html(data['empresa'].toString().toUpperCase() == 'NULL' ? '' : data['empresa'].toString());
 $('#lblJuridicaEmail').html(data['email'].toString().toUpperCase() == 'NULL' ? '' : data['email'].toString());
 $('#lblJuridicaTelefone').html(data['telefone'].toString().toUpperCase() == 'NULL' ? '' : data['telefone'].toString()); 
 $('#lblJuridicaLogradouro').html(data['logradouro'].toString().toUpperCase() == 'NULL' ? '' : data['logradouro'].toString());
 $('#lblJuridicaBairro').html(data['bairro'].toString().toUpperCase() == 'NULL' ? '' : data['bairro'].toString());   
 $('#lblJuridicaCidade').html(data['cidade'].toString().toUpperCase() == 'NULL' ? '' : data['cidade'].toString());
 $('#lblJuridicaEstado').html(data['estado'].toString().toUpperCase() == 'NULL' ? '' : data['estado'].toString());
 $('#lblJuridicaPais').html(data['pais'].toString().toUpperCase() == 'NULL' ? '' : data['pais'].toString());
 $('#lblJuridicaCargo').html(data['cargo'].toString().toUpperCase() == 'NULL' ? '' : data['cargo'].toString());
 $('#lblJuridicaCC').html(data['contaCorrente'].toString().toUpperCase() == 'NULL' ? '' : data['contaCorrente'].toString());
 $('#lblJuridicaAgencia').html(data['agencia'].toString().toUpperCase() == 'NULL' ? '' : data['agencia'].toString());
 $('#lblJuridicaBanco').html(data['banco'].toString().toUpperCase() == 'NULL' ? '' : data['banco'].toString());


 $('#tableInvestidoresUhJ').show();
 var retorno = "";
 //$('#bodyInvestidoresUhJ').html(retorno);
 for ( var int = 0; int < data['uhs'].length; int++) {
retorno += "<tr>";
if ((data['uhs'][int]['desctipo']).match(/^S.*$/)){
retorno += "<td>"+ 'Office' +"</td>";
} else if ((data['uhs'][int]['desctipo']).match(/^L.*$/) || (data['uhs'][int]['desctipo']).match(/^B.*$/)){
retorno += "<td>"+ 'Outros' + "</td>";
} else {
retorno += "<td>"+ (data['uhs'][int]['tipoinvestidor'] == 'P' ? 'Pool' : 'Condomínio') +"</td>";
}
retorno += "<td>"+data['uhs'][int]['desctipo']+"</td>";
retorno += "<td>"+data['uhs'][int]['unidade']+"</td>";
retorno += "<td>"+data['uhs'][int]['descricao']+"</td>";
retorno += "<td>"+data['uhs'][int]['participacao']+"</td>";
retorno += "</tr>";
 }
$('#bodyInvestidoresUhJ').html(retorno);
//iniciaDataTableUH("tableInvestidoresUhJ", 1, "desc");


var contato = 0;
$.ajax({
async: false, cache:false, 
url: '[:raiz]cadAdmin/getContatoInvestidor',
data: {
codCm: codigoCM
},
dataType: 'json',
success: function(dt) {
var contactTable = "";
if (dt[0]!=undefined && dt[0]['COUNT'] > 0){
contato = dt[0]['COUNT'];
$('#txt0DadosContato').show();
contactTable+="<table class='tables' style='width:565px;float:left;font-size: 11px;'><tr><td>"+$('#lblNome').val()+"</td>" +
"<td>"+$('#lblTel').val()+"</td><td>"+$('#lblEmail').val()+"</td></tr>";
for(var i=0;i<dt.length;i++){
arrayContatos[i] = dt[i]['NOME']+"|"+dt[i]['TELEFONE'] +"|"+ dt[i]['EMAIL']+";";
var nome = (dt[i]['NOME']!=undefined ? dt[i]['NOME'] : "");
var telefone = (dt[i]['TELEFONE']!=undefined ? dt[i]['TELEFONE'] : "");
var email = (dt[i]['EMAIL']!=undefined ? dt[i]['EMAIL'] : "");
contactTable+=("<tr><td>" + nome + " </td><td> " + telefone + " </td><td> " + email +"</td></tr>");
}
contactTable+="</table>";
$('#txt0DadosContato').show();
}else{
//dar um hide no contato caso o investidor seja pessoa f�sica
$('#txt0DadosContato').hide();
} 
$('.dadosContato').html(contactTable);
}
}); 


//var tamanhoModal = (690 + (50 * parseInt(data['uhs'].length) + (contato*20))*1.22);
var tamanhoModal = (670 + (45 * ((parseInt(data['uhs'].length)>0 ?parseInt(data['uhs'].length)+2 : 0 ))
+ ((contato>0 ? contato+2 : 0)*20))*1.22); 
$('#detalhesJuridica').show();
$('#detalhesFisica').hide(); 
$('#modalDetalhes').attr('title',$('#lblDetalhesInvestidor').val());
$('#modalDetalhes').dialog({
width: 625,
height: tamanhoModal,
modal: true,
buttons: dialog_buttons,
autoOpen: true,
resizable: false,
closeOnEscape: true,
position: 'top',
close: function(){


}
}); 
}
  }
 }
});
    }

Sei que a função é tanto quanto complexa, já que é diferente pra cadastro de pessoa física como jurídica.

Como a função funciona perfeitamente, queria saber se é possível criar um botão com uma função pra cadastrar vários investidores da busca realizada ao mesmo tempo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.