Foros del Web » Programando para Internet » PHP »

Duda para insertar un array en sql

Estas en el tema de Duda para insertar un array en sql en el foro de PHP en Foros del Web. Buenas amigos, queria saber si alguien me puede ayudar para insertar en una factura todos los articulos que esten asociados a esa factura, por lo ...
  #1 (permalink)  
Antiguo 27/10/2013, 21:30
 
Fecha de Ingreso: octubre-2013
Ubicación: Caracas
Mensajes: 24
Antigüedad: 6 años, 3 meses
Puntos: 0
Duda para insertar un array en sql

Buenas amigos, queria saber si alguien me puede ayudar para insertar en una factura todos los articulos que esten asociados a esa factura, por lo tanto tengo esto

$cadena = $_POST['OcultoDatoTabla'];
$partes = explode(";",$cadena); // divide una cadena segun separador
array_pop($partes); // elimina el ultimo elemento del array
for($i=0;$i<=(count($partes)-1);$i++){
$subpartes = explode("|",($partes[$i]));
}

$sql2= "INSERT INTO afactura (id_f, id_r, cantidad) VALUES ('$id_fac', '$subpartes[0]', '$subpartes[1]')";

Entonces tendría mi articulo con dos variables '$subpartes[0]', '$subpartes[1] que se separa con ; cuando termina el detalle de un articulo así lo identifico y si introduzco otro articulo solo me guarda el último... como haría para que guarde todos los que separa en la cadena. Saludos
  #2 (permalink)  
Antiguo 28/10/2013, 01:25
Avatar de alvidales  
Fecha de Ingreso: febrero-2012
Mensajes: 108
Antigüedad: 8 años
Puntos: 11
Respuesta: Duda para insertar un array en sql

la ultima linea ponla adentro del "for" para que te inserte cada articulo cada vez que pasas por un elemento del arreglo $partes.

Código PHP:
Ver original
  1. $cadena = $_POST['OcultoDatoTabla'];
  2. $partes = explode(";",$cadena); // divide una cadena segun separador
  3. array_pop($partes); // elimina el ultimo elemento del array
  4. for($i=0;$i<=(count($partes)-1);$i++){
  5. $subpartes = explode("|",($partes[$i]));
  6. $sql2= "INSERT INTO afactura (id_f, id_r, cantidad) VALUES ('$id_fac', '$subpartes[0]', '$subpartes[1]')";
  7. //aqui corres tu mysql_query.
  8. }
__________________
Hasta que el hombre no es nada, Dios no puede hacer nada con el.
  #3 (permalink)  
Antiguo 28/10/2013, 23:13
 
Fecha de Ingreso: octubre-2013
Ubicación: Caracas
Mensajes: 24
Antigüedad: 6 años, 3 meses
Puntos: 0
Respuesta: Duda para insertar un array en sql

Cita:
Iniciado por alvidales Ver Mensaje
la ultima linea ponla adentro del "for" para que te inserte cada articulo cada vez que pasas por un elemento del arreglo $partes.

Código PHP:
Ver original
  1. $cadena = $_POST['OcultoDatoTabla'];
  2. $partes = explode(";",$cadena); // divide una cadena segun separador
  3. array_pop($partes); // elimina el ultimo elemento del array
  4. for($i=0;$i<=(count($partes)-1);$i++){
  5. $subpartes = explode("|",($partes[$i]));
  6. $sql2= "INSERT INTO afactura (id_f, id_r, cantidad) VALUES ('$id_fac', '$subpartes[0]', '$subpartes[1]')";
  7. //aqui corres tu mysql_query.
  8. }
Gracias, he intentado así y nada :( lo intente colocar de esta forma e incluso puse solo el mysql_query sin condicional y no me funciono

//Insertar Nº de Factura
$sql1= "INSERT INTO factura (nfactura, id_proveedor, fmonto) VALUES ('$pfactura', '$cproveedor', '$tfactura')";
//Insertar detalle de Factura
$sql2= "INSERT INTO afactura (id_f, id_r, cantidad) VALUES ('$id_fac', '$subpartes[0]', '$subpartes[1]')";
//En caso de error borrar ingreso de factura
$sql3= "DELETE FROM factura WHERE id_f=".$id_fac ;

if(mysql_query($sql1,$con)) {
$cadena = $_POST['OcultoDatoTabla'];
$partes = explode(";",$cadena); // divide una cadena segun separador
array_pop($partes); // elimina el ultimo elemento del array
for($i=0;$i<=(count($partes)-1);$i++){
$subpartes = explode("|",($partes[$i]));
if (mysql_query($sql2,$con)){
echo "<script languaje='javascript'>alert('Se ha ingresado la factura correctamente')
document.location=('ainventario.php')
</script>";
}else {
mysql_query($sql3,$con);
echo "<script languaje='javascript'>alert('ERROR!. No se pudo cargar el detalle de factura, Contacte al administrador del Sistema')
document.location=('ainventario.php')
</script>";
}
}

}else {
echo "<script languaje='javascript'>alert('ERROR!. No se pudo cargarla factura, Contacte al administrador del Sistema')
document.location=('ainventario.php')
</script>";
}
  #4 (permalink)  
Antiguo 28/10/2013, 23:13
 
Fecha de Ingreso: octubre-2013
Ubicación: Caracas
Mensajes: 24
Antigüedad: 6 años, 3 meses
Puntos: 0
Respuesta: Duda para insertar un array en sql

Como haces para colocarlo así ordenado ?? Disculpa el fastidio es que soy nuevo en esto xD

Etiquetas: sql, tabla, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:45.