Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: tecasoft en 19 Octubre 2015, 17:19 PM

Título: [Resuelto] problema con foreach en php para hacer insert
Publicado por: tecasoft en 19 Octubre 2015, 17:19 PM
buenas tengo una tabla que es clientes tratamiento $pscnt_nombre y $pscnt_apellidos vienen de un array para que sea un bucle de insertar tantos nombre y apellidos que quiera en una tabla apartir de $_POST[] , el problema viene que quiero unir $nombre y $apellidos en una misma query pero no se como hacerlo por foreach para que resulte exitoso, es decir que sea solo un foreach las 2 consultas.

Como lo hariais gente? alguien experto por el foro? o que se le de bien estas cosas? es que me lleva mucho lio y no se como puedo hacerlo todo en una consulta sql solo atraves de foreach?

Código (php) [Seleccionar]

foreach($pscnt_nombre as $nombre){
     
      mysqli_query($conexion,"insert into clientes_tratamiento (nombre,cod_tra) values ('$nombre','$id')");
     }
   
     
foreach($pscnt_apellidos as $apellidos){
      mysqli_query($conexion,"insert into clientes_tratamiento (apellidos,cod_tra) values ('$apellidos','$id')");
     }



Mod: Temas sobre PHP van al subforo de PHP
Título: Re: problema con foreach en php para hacer insert
Publicado por: 0roch1 en 19 Octubre 2015, 18:01 PM
$pscnt_nombre y $pscnt_apellidos forzosamente tienen que ser dos array diferentes?

Porque con ese código estás haciendo lo siguiente.

Código (sql) [Seleccionar]

+---------+----------+------------+
| cod_tra | nombre   | apellidos  |
+---------+----------+------------+
| C0D1    | nombre 1 | NULL       |
| COD2    | nombre 2 | NULL       |
| COD1    | NULL     | apellido 1 |
| COD2    | NULL     | apellido 2 |
+---------+----------+------------+


Primero insertas los nombres con su respectivo código y después insertas los apellidos. En todo caso deberías hacer un update, pero entiendo que lo que no quieres es hacer dos querys.

Qué tipo de array es $pscnt_nombre y $pscnt_apellidos?, cómo lo construyes?
De dónde sale $id?


Título: Re: problema con foreach en php para hacer insert
Publicado por: MinusFour en 19 Octubre 2015, 18:24 PM
Si tiene el mismo indice:

Código (php) [Seleccionar]

foreach($pscnt_nombre as $index => $nombre){
    $apellido = $pscnt_apellidos[$index];
     mysqli_query($conexion,"insert into clientes_tratamiento (nombre, apellido, cod_tra) values ('$nombre','$apellido','$id')");
}
Título: Re: problema con foreach en php para hacer insert
Publicado por: tecasoft en 19 Octubre 2015, 23:55 PM
gracias neng solucionado MinusFour