List the selected values in an array in PHP, AngularJS and MySQL

0

I want to list the data in checkbox by enabling select through AngularJS and PHP.

I leave the codes:

app.js:

    $scope.getPhase0 = function(){
    var dataSend = {
      "service": "getPhase0",
      "token": token
    };
    Connect.post(service_api,dataSend,function(data){
      $scope.phase0 = data;
      $scope.producto = data[0].phase0_name;
      $scope.fecha = data[0].phase0_date;
      $scope.descripcion = data[0].phase0_descripcion;
      $scope.chile = data[0].phase0_chile;
      $scope.peru = data[0].phase0_peru;
      $scope.bolivia = data[0].phase0_bolivia;
      $scope.colombia = data[0].phase0_colombia;
      $scope.ecuador = data[0].phase0_ecuador;
      $scope.paraguay = data[0].phase0_paraguay;
      $scope.otros = data[0].phase0_otros;
      $scope.total = data[0].phase0_total;
      $scope.internacional = data[0].phase0_internacionales;
      $scope.nacional = data[0].phase0_nacionales;
      $scope.innovacion = data[0].phase0_innovacion;
      $scope.aplicacion = data[0].phase0_aplicacion;
      $scope.caracteristica = data[0].phase0_caracteristica;
      $scope.proliferacion = data[0].phase0_proliferacion;
      $scope.presentado = data[0].phase0_presentado;
      $scope.gerente = data[0].phase0_gerente;
      var especies = data[0].phase0_especies;
      var arrespecies[] = especies.split(',');
      console.log("Phase0", arrespecies);
      $("input[name='especies[]']").each(function(index, item){
    for($i=0; $i<$scope.arrespecies.length;$i++){
      if(item.value==$scope.arrespecies[$i]){
        $("input[name='especies[]']").attr('checked', true);
      }
    }
  })
    });
  }
})

phase_0.html:

<div class="row">
                    <div class="col-xs-12">
                        <label>Especies destino</label>
                    </div>
                </div>
                <div class="row">
                    <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">

                        <div class="form-group">
                            <div class="checkbox">
                                <label>
                                    <input name="especies[]" value="1" type="checkbox">
                                    Especie 1
                                </label>
                            </div>

                            <div class="checkbox">
                                <label>
                                    <input name="especies[]" value="2" type="checkbox">
                                    Especie 2
                                </label>
                            </div>

                            <div class="checkbox">
                                <label>
                                    <input name="especies[]" value="3"  type="checkbox">
                                    Especie 3
                                </label>
                            </div>
                        </div>
                    </div>
                    <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">

                        <div class="form-group">
                            <div class="checkbox">
                                <label>
                                    <input name="especies[]" value="4" type="checkbox">
                                    Especie 4
                                </label>
                            </div>

                            <div class="checkbox">
                                <label>
                                    <input name="especies[]" value="5" type="checkbox">
                                    Especie 5
                                </label>
                            </div>

                            <div class="checkbox">
                                <label>
                                    <input name="especies[]" value="6"  type="checkbox">
                                    Especie 6
                                </label>
                            </div>
                        </div>
                    </div>
                    <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">

                        <div class="form-group">
                            <div class="checkbox">
                                <label>
                                    <input name="especies[]" value="7" type="checkbox">
                                    Especie 7
                                </label>
                            </div>

                            <div class="checkbox">
                                <label>
                                    <input name="especies[]" value="8" type="checkbox">
                                    Especie 8
                                </label>
                            </div>

                            <div class="checkbox">
                                <label>
                                    <input name="especies[]" value="9"  type="checkbox">
                                    Especie 9
                                </label>
                            </div>
                        </div>
                    </div>
                </div>

services.php:

function getPhase0($mysqli){
    $ret = [];
    $query_comment = "SELECT phase0.* FROM ".$GLOBALS['base_table'].".phase0";
    if($phase0 = $mysqli->query($query_comment)) {
        $ret = $phase0->fetch_all(MYSQLI_ASSOC);
    };
    return $ret;
}
    
asked by Roberto Caamaño Riquelme 21.07.2017 в 01:55
source

1 answer

0

So that you do not have to do all those assignments in the AJAX, I think it would be advisable that what you return is a JSON. In this way you could pull Data directly into the scope, with the data fully formed as an array. The code will be more maintainable and if you have to add new entries it would be enough to modify services.php without needing to touch the javascript.

    
answered by 21.07.2017 в 14:15