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.
<trdir-paginate="rem in remessa | itemsPerPage:exibirQuant"><td><ang-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><inputtype="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><buttonclass="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);
Pergunta
Gregory Carmo
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.
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.