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

Imprimir array por post para php através de angularjs


Gregory Carmo

Pergunta

Boa noite a todos!

Estou desenvolvendo com angularjs e php.

Estou tentando passar um array que será criado por input do tipo checkbox. Cada checkbox selecionado conterá valores de uma pessoa específica e esses valores eu preciso enviar para uma página PHP e imprimir lá para poder manipular esses dados em arquivos txt ao invés de retornar para o angular.

Quando eu envio para php retorna NULL quando coloco um echo ou var_dump() mas se eu retornar para visualizar pelo angular retorna o valor certo.

Página HTML contendo campo checkbox e button para pegar os campos selecionados.

<tr dir-paginate="rem in remessa | itemsPerPage:exibirQuant">
                    <td><a ng-click="buscarFunc(rem)" ng-bind="rem.nome"></a></td>
                    <!--<td><input type="checkbox" ng-model="rem.selected" value="{{rem.nome}}" class="form-check-input"></td>-->
                    <td><input type="checkbox" name="{{rem.nome}}" value="{{rem.nome}}" ng-model="rem.selected"></td>
                    <td>{{rem.valorBruto}}</td>
                    <td></td>
                    <td>{{rem.desconto}}</td>
                    <td></td>
                    <td>{{rem.valorLiquido}}</td>           
                </tr>

<button class="btn btn-danger" ng-click="salvar()">Salvar</button>

 

Controller do angularjs

/* lista os funcionarios vindo do banco em uma tabela */
$http.post('assets/php/remessa_rj.php', {'tipo':'listar', 'data_ini':$scope.data_start, 'data_fim':$scope.data_end, 'funci':$scope.searchFunc})
  //$http.post('assets/php/remessa_rj.php', dados)
  .then(function(resu){
    $scope.thead = false;
    //console.log(resu);
    $scope.remessa = resu.data;
  });
};

$scope.SelectAll = function(){ // seleciona todos os checkbox para salvar no arquivo txt
    //console.log($scope.remessa);
    angular.forEach($scope.remessa, function(item){
      item.selected = event.target.checked;
    });
  };

$scope.salvar = function(){ // funcionarios selecionados no checkbox acima
    $scope.funciSelected = [];

    // verifica se o vetor $scope.funciSelected foi selecionado alguma vez
    var n = $("input:checked").length - 1; 
    
    if (n === 0) { //console.log("O array está vazio!") 
      $scope.funciSelected = 'Nenhum funcionário selecionado';
      console.log('vazio');
    }

    else {   

      angular.forEach($scope.remessa, function(rem){
        if (rem.selected) {
          //console.log(rem.id_funci);
          //$scope.funciSelected.push({'id':rem.id_funci, 'nome':rem.nome});
          //console.log(rem);
                    
          /* envia para o arquivo para salvar em txt */
          // aqui está o grande problema quando redireciona para salvar/teste.php
          $http.post('salvar/teste.php', rem)
          .then(function(resu){
            console.log(resu);
            window.location.href = 'salvar/teste.php';
          });

          /* envia para o arquivo para salvar em txt */
        }

      }); // fim do angular.forEach

  } // fim do else

  };

 

E por fim a página salvar/teste.php para receber os dados selecionados no checkbox e salvar no txt

$json = file_get_contents('php://input');
$obj = json_decode($json, TRUE);

foreach ($obj as $key => $value) {
   //$value tem o valor de cada item
	echo($value);
}

//var_Dump($obj);

 

Desde já agradeço!

Link para o comentário
Compartilhar em outros sites

2 respostass 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,4k
×
×
  • Criar Novo...