Separate PHP Array for BD insertion

0

I have the following code line:

echo '<td><input type="checkbox" class="js-switch" name="permiso[]" data- 
color="#99d683" data-secondary-color="#f96262" data-size="small" 
value="'.$item.','.$id_user.'" /> </td>';

Where $ item is the id of some process permissions.
Where $ id_user are the id of the users selected with the previous permissions.

This is sent by POST to the page that will process the requests and save it in the BD (processor.php). In processor.php, I receive that array in this way:

$permiso = implode(",", $_POST['permiso']);

I print these values to see that everything is OK and it gives me this:

array(2) { [0]=> string(3) "2,9" [1]=> string(4) "4,19" }

Where array 0 carries 2 (process id) and 9 (user id).
Where array 1 carries 4 (process id) and 19 (user id).
It should be noted that these arrays are dynamic and may contain a permit with one user or several permissions with several users.

The first question first of all, is the array well built?
The second question, how can I separate each array and assign it to dynamic variables to insert process id in the permission field and user id in the id_user field of my database table?

For example:

$ var1 = 'process id';
$ var2 = 'user id';

Note: !! The values that are sent by POST, are the checkboxes that have been clicked !!

As always, I appreciate any help or guidance in this regard. If there is any doubt regarding my question, I will gladly answer it. Greetings and thanks to all.

    
asked by maha1982 24.05.2018 в 18:46
source

2 answers

0

high view

             <div class="form-group col-md-8">
                <label class="control-label">Disponibilidad</label>
                <div>
                  <label class="checkbox-inline">
                    <input type="checkbox" name="diasTrabajados[]" class="flat-red" checked value="Lunes">
                    Lu
                  </label>
                  <label class="checkbox-inline">
                    <input type="checkbox" name="diasTrabajados[]" class="flat-red" checked value="Martes" >
                    Ma
                  </label>
                  <label class="checkbox-inline">
                    <input type="checkbox" name="diasTrabajados[]" class="flat-red" checked value="Miercoles">
                    Mie
                  </label>
                  <label class="checkbox-inline">
                    <input type="checkbox" name="diasTrabajados[]" class="flat-red" checked value="Jueves" >
                    Jue
                  </label>
                  <label class="checkbox-inline">
                    <input type="checkbox" name="diasTrabajados[]" class="flat-red" checked value="Viernes">
                    Vie
                  </label>
                  <label class="checkbox-inline">
                    <input type="checkbox" name="diasTrabajados[]" class="flat-red" value="Sabado" >
                    Sa
                  </label>
                  <label class="checkbox-inline">
                    <input type="checkbox" name="diasTrabajados[]" class="flat-red" value="Domingo" >
                    D
                  </label>
                </div>
              </div>

controller

case "guardar":
                        $resultado = $this->varSolicitudEmpleo -> guardar($_POST["Datos"],$_POST["diasTrabajados"],$_POST["paquestesLenguajes"],$_POST["promocion"],$_POST["conocimientos"],$_POST["habilidades"]);
                        echo $resultado;
                        $_SESSION["spar_error"] = "Se agregó el perfil correctamente.";
                    break;

model

public function guardar($datos,$diasTrabajados,$paquestesLenguajes,$promocion,$conocimientosEspecificos,$habilidades){

if(isset($diasTrabajados)){
        $diasTrabajados1 = implode(",", $diasTrabajados);
        $diasTrabajados1 = $this->conexion -> real_escape_string(strip_tags(stripslashes(trim($diasTrabajados1))));
        }else{
            $diasTrabajados1 = NULL;
        }
}

modal edit view

 <?php $diasTrabajados = explode(",", $solicitudEmpleo['diasTrabajados']); ?>
                      <div class="form-group col-md-8">
                        <label class="control-label">Disponibilidad</label>
                          <div>
                            <label class="checkbox-inline">
                              <input type="checkbox" name="diasTrabajados[]" class="flat-red" <?php if(in_array('Lunes', $diasTrabajados)){ echo 'checked';} ?> value="Lunes">
                              Lu
                            </label>
                            <label class="checkbox-inline">
                              <input type="checkbox" name="diasTrabajados[]" class="flat-red" <?php if(in_array('Martes', $diasTrabajados)){ echo 'checked';} ?> value="Martes" >
                              Ma
                            </label>
                            <label class="checkbox-inline">
                              <input type="checkbox" name="diasTrabajados[]" class="flat-red" <?php if(in_array('Miercoles', $diasTrabajados)){ echo 'checked';} ?> value="Miercoles">
                              Mie
                            </label>
                            <label class="checkbox-inline">
                              <input type="checkbox" name="diasTrabajados[]" class="flat-red" <?php if(in_array('Jueves', $diasTrabajados)){ echo 'checked';} ?> value="Jueves" >
                              Ju
                            </label>
                            <label class="checkbox-inline">
                              <input type="checkbox" name="diasTrabajados[]" class="flat-red" <?php if(in_array('Viernes', $diasTrabajados)){ echo 'checked';} ?> value="Viernes">
                              Vie
                            </label>
                            <label class="checkbox-inline">
                              <input type="checkbox" name="diasTrabajados[]" class="flat-red" <?php if(in_array('Sabado', $diasTrabajados)){ echo 'checked';} ?> value="Sabado" >
                              Sa
                            </label>
                            <label class="checkbox-inline">
                              <input type="checkbox" name="diasTrabajados[]" class="flat-red" <?php if(in_array('Domingo', $diasTrabajados)){ echo 'checked';} ?> value="Domingo" >
                              Do
                            </label>
                        </div>
                      </div>

controller

if(!isset($_POST["diasTrabajados"])){$_POST["diasTrabajados"] =NULL; }
$resultado = $this->varSolicitudEmpleo->actualizar($_POST["Datos"],$_POST["diasTrabajados"],$_POST["paquestesLenguajes"],$_POST["promocion"],$_POST["conocimientos"],$_POST["habilidades"]);

model update

public function actualizar($datos,$diasTrabajados,$paquestesLenguajes,$promocion,$conocimientosEspecificos,$habilidades){ if(isset($diasTrabajados)){       
$diasTrabajados1 = implode(",", $diasTrabajados);       $diasTrabajados1 = $this->conexion -> real_escape_string(strip_tags(stripslashes(trim($diasTrabajados1))));         }else{          $diasTrabajados1 = NULL;        } }
    
answered by 24.05.2018 в 19:43
0

For the array I would use something like

$miarray = array
(
 array(2,9),
 array(4,19)
);

then you could access it like this

$var1 = $miarray[0][0]; //id proceso
$var2 = $miarray[0][1]; //id usuario
    
answered by 24.05.2018 в 19:50