Ir para conteúdo
Fórum Script Brasil
  • 0

Array em Funções com Ajax


maycon welliton

Pergunta

Pessoal acho isso um pouco complicado de explicar, mas creio que exista solução para isso...

Estou desenvolvendo um Sistema de Gerenciamento De RH, que executar as funções de cadastro, consulta, enfim, funções de RH

Neste momento estou criando uma parte do sistema onde eu insiro variáveis para cada funcionário, por exemplo, Hora-Extra, descontos em folha, adicional noturno, esse tipo de coisa....estou criando tendo como base um sistema em Java que posso consultar, porem estou tendo problema em uma situação bem especifica:

Vocês conhecem a função, Procv, do Excel, nela eu posso digitar um determinado valor, ele me retorna na célula onde há a função está determinado valor corresponde que já estava armazenado em uma tabela especifica,

Eu usei uma função em ajax para fazer algo parecido, eu digito a matricula do funcionário, ele me retornar o nome (da mesma forma que a gente digita o CEP em algum site e ele completa o endereço), porem isso é só o começo, eu irei fazer ele me retornar vários índices para serem inseridos em uma tabela especifica, mas isso futuramente.

Meu problema é bem especifico, imagine um sistema onde eu tenha que fazer inserir vários nomes (ou ceps para ficar mais fácil), e digitando a matricula eu retornaria o valor dos nomes logo a frente, porem o sistema teria que fazer varias requisições ao ajax, e eu só consegui executar 1(uma) vez, acho que seria por Array, porem não consegui...será que alguém pode me ajudar...

Segue uma imagem do sistema para tentar explicar:

xlyg.png

E aqui vão os códigos:

inserirvariaveis.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3c.org/1999/xhtml" lang="en" xml : lang="en">
<html>
<head> <meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>SimpleTabs</title>
<script type="text/javascript" src="js/simpletabs_1.3.js"></script>

<!--endereço do jquery -->
<script type="text/javascript" src="js/jquery-1.11.0.js" </script>
<!--endereço do jquery -->

<!--função abrir conteudo em div -->

<script type="text/javascript">
$(document).ready(function(){
$("#menulateral a").click(function( e ){
e.preventDefault();
var href= $( this ).attr("href");
$("#conteudo").load( href +" #conteudo");
});
</script>



<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript">

var ajax = new sack();
var currentmatricula=false;

function getClientData()
{
var matricula = document.getElementById('matricula').value.replace(/[^0-9]/g,'');
if(matricula.length==5 && matricula!=currentmatricula){

currentmatricula = matricula
ajax.requestFile = 'getClient.php?getmatricula='+matricula; // especificar qual arquivo obter
ajax.onCompletion = showClientData; // Especifique a função que será executada após arquivo foi encontrado
ajax.runAJAX(); // Executar a função
}

}

function showClientData()
{
var formObj = document.forms['localizar']; 
eval(ajax.response);


} 

function initFormEvents()
{
document.getElementById('matricula').onblur = getClientData;
document.getElementById('matricula').focus();
}

window.onload = initFormEvents;

</script>



<!--função abrir conteudo em div -->

<!--folhas de estilo -->
<style type="text/css" media="screen">
@import "css/simpletabs.css";
@import "css/semtabelas.css";
</style>
<!--folhas de estilo -->

</head>
<body> 

<div id="tudo"> 

<div id="cabecalho">

<h2 >Menu Funcionarios</h2></span>

</div> <!fecha cabecalho!>

<div id="menulateral">

<ul>
<li><a href='index.html'><span>Pagina Principal</span></a></li>
<li><a href='pesquisar.php'><span>Localizar</span></a></li>
<li><a href='menufuncionarios.php'><span>Funcionarios</span></a></li>
<li><a href='inserirvariaveis.php'><span>Inserir Variaveis</span></a></li>
</ul>
</div><!fecha menulateral!>

<div id="conteudo">


<form name="localizar" action="inserirvariaveis.php" method="post"> 
<fieldset>
<legend>Inserir Variaveis...</legend>

<label for="matricula">Matricula:</label>
<input name="matricula" id="matricula" size="7" maxlength="6">
<label for="nome">Nome:</label>
<input name="nome" id="nome" size="35" maxlength="255" disabled="disabled" >
<label for="unidade">Unidade:</label>
<input name="unidade" id="unidade" size="35" maxlength="255">

</fieldset>
</form> 







</div><! fecha div=conteudo !>


<div id="rodape">Rodape

</div>



</div> <!fecha div=tudo !>

</body>

</html>  

getClient.php

<?php
/* Replace the data in these two lines with data for your db connection */
include 'conectar.php';

$_GET['getmatricula'];

if(isset($_GET['getmatricula'])){
$res = mysql_query("select * from funcionarios where matricula='".$_GET['getmatricula']."'") or die(mysql_error());
if($inf = mysql_fetch_array($res)){
echo "formObj.nome.value = '".$inf["nome"]."';\n";
echo "formObj.unidade.value = '".$inf["unidade"]."';\n"; 


}else{
echo "formObj.nome.value = '';\n";
echo "formObj.unidade.value = '';\n"; 

} 
}
?> 

conectar.php, que faz a conexão com o banco de dados "funcionarios"...

<?php
$host="localhost";
$user="root";
$pass="";
$banco="funcionarios";
$conexao= mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($banco)or die(mysql_error());

?> 

Pensei criar as ids como Array "matricula[ i ]" ,

<input name="matricula[]" id="matricula[]" size="7" maxlength="6"> 

E enviar para a função "getClientData()" matricula, uma a uma...mas não sei como fazer, não tenho tanta experiencia em php para desenvolver a função que execute essa lógica...

Se alguém puder me ajudar, ficarei imensamente agradecido....

Após o sistema estar finalizado disponibilizarei os arquivos para download de todos..

Att, Maycon.

Editado por maycon welliton
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...