Jump to content
Fórum Script Brasil
  • 0

Imprimir array por post para php através de angularjs


Gregory Carmo

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.8k
×
×
  • Create New...