通过单个提交按钮更新一列的多行:AngularJS with PHP

时间:2017-04-14 14:51:14

标签: php angularjs ionic-framework

我需要更新几行的列(FraisFact),每行到一个标识符(CodeCompleteColumn),我怎么能用angularJS和PHP知道我设法通过(Ng-repeat)显示每个代码的inofrmation )我无法预测显示的代码数量,我必须更新每个“CodeEnvoiColis”的“FraisFact” fichier.html

<ion-list ng-repeat="x in namesF3 " >
          <div class="item item-divider center-text" name="codeE" ng-model="codeE" value={{x.CodeEnvoiColis}} > {{x.CodeEnvoiColis}} </div>

          <label class="item item-input">
          <input type="text" placeholder="Frais" name="frais" ng-model="frais"></div> 
          </label> 
</ion-list>    
      <a class="button button-info" href="#/factureAdmin" ng-
      click=updateFactFact(x.frais)> Ajouter </a> 

app.js:

 $scope.insertFact = function(frais){  
           $http.post(  
                "http://localhost/deb/updateFact.php",  
                {           
                'frais':$scope.frais,
                'codeE':$scope.codeE,
                 }
           ).success(function(data){  
                alert(data);    
                $scope.frais=null;
                $scope.codeE=null;        
           });  
    }

updateFact.php

 <?php  
$connect = mysqli_connect("localhost", "root", "", "sem1");   
 $data = json_decode(file_get_contents("php://input"));   
   if(count($data) > 0)  
 {  
      $FraisFact = mysqli_real_escape_string($connect, $data->frais);       
      $CodeEnvoiColis = mysqli_real_escape_string($connect, $data->codeE);  
    $query = "UPDATE colis 
    SET 
    FraisFact='.$FraisFact.'
    WHERE CodeEnvoiColis='.$CodeEnvoiColis'";     
  }  
 ?>

2 个答案:

答案 0 :(得分:0)

<?php
    $connect = mysqli_connect("localhost", "root", "", "epmsxs"); 

    $postdata = json_decode(file_get_contents("php://input"));

    $tot = count($postdata); 
    //echo json_encode($postdata);
    for($i=0;$i<$tot;$i++) {
    $FraisFact = $postdata[$i]->frais;
    $CodeEnvoiColis = $postdata[$i]->codeE;

    //u can use echo for alert response.data
    echo $FraisFact;
    echo $CodeEnvoiColis ;
    mysqli_query($connect,"UPDATE colis 
    SET 
    FraisFact=$FraisFact
    WHERE CodeEnvoiColis=$CodeEnvoiColis");
    }

?>

答案 1 :(得分:0)

$postdata = json_decode(file_get_contents("php://input"));

此代码段从外部页面获取数据并与PHP页面合并。

$tot = count($postdata);

它通过$http.post

计算到达数据中的行数

然后应用如上所示的for循环。

它将根据通过post方法传入的数据计数来插入数据 例如(如果没有:行为3的$ tot为3,则每次将$CodeEnvoiColis的值作为WHERE子句的参数时,查询将执行3次。)

我希望很清楚。如果我遗失了某些内容,请告诉我