Foros del Web » Programando para Internet » PHP »

ordenar array para insertar en base de datos

Estas en el tema de ordenar array para insertar en base de datos en el foro de PHP en Foros del Web. por post recibo el siguiente array : false,opcion 1,false,valor 1, valor 2,valor 3 y necesito acomodarlo para insertarlo en una base de datos la cual ...
  #1 (permalink)  
Antiguo 21/06/2012, 22:56
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
ordenar array para insertar en base de datos

por post recibo el siguiente array :

false,opcion 1,false,valor 1, valor 2,valor 3

y necesito acomodarlo para insertarlo en una base de datos la cual es de la siguiente manera


opciones valor
false valor 1
opcion 1 valor 2
false valor 3


como lo puedo organiza con php
  #2 (permalink)  
Antiguo 21/06/2012, 23:05
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: ordenar array para insertar en base de datos

Es medio complicado teniendo tan pocos datos. A ver si así se entiende y querés hacer esto:

Código PHP:
<?php
//Datos de conexion 
  
or die("Problemas en la conexion");
mysql_select_db("nombre_basededatos",$conexion) or
  die(
"Problemas en la seleccion de la base de datos");
mysql_query("insert into nombre tabla(campo_opciones1, campo_valor1, campo_opciones2, campo_valor2, campo_opciones3, campo_valor3) values('$_REQUEST[campo_formulario_que_envia_el_primer_false]','$_REQUEST[campo_formulario_que_envia_valor1]','$_REQUEST[campo_formulario_que_envia_opcion1]','$_REQUEST[campo_formulario_que_envia_valor2]','$_REQUEST[campo_formulario_que_envia_el_segundo_false]','$_REQUEST[campo_formulario_que_envia_valor3]')"
   
$conexion) or die("Problemas en el select".mysql_error());

mysql_close($conexion);

?>
  #3 (permalink)  
Antiguo 21/06/2012, 23:15
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: ordenar array para insertar en base de datos

sjj gracias por responder


el array que llega es

false,opcion 1,false,valor 1, valor 2,valor 3

y

tengo que guardarlo en una tabla

osea serian 3 registros

el primero: seria : false --- valor1
segundo: opcion 1 ---valor 2
tercero:false --- valor 2

la cosa es que por post me llegan los valores desordenados osea

el primer registro en el array es la primera posicion y la 4 posicion
el segundo registro en el array es la segunda posicion y la 5 posicion
el tercer registro en el array es la tercera posicion y la 6 posicion

como los organizo para poder insertarlos de esa manera


todo lo estoy enviando en un array

Última edición por Montes28; 21/06/2012 a las 23:24
  #4 (permalink)  
Antiguo 21/06/2012, 23:26
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: ordenar array para insertar en base de datos

Es que el orden en que recibas los datos es algo también determinado por vos supongo, ¿no? ¿O te referís a que ese es el orden en que el usuario los ingresa pero en la base se ordenan diferente? Si es esto último no es un problema porque el orden para ser registrados en la base de datos se lo das vos en esta línea:

Código PHP:
"insert into nombre tabla(campo_opciones1, campo_valor1, campo_opciones2, campo_valor2, campo_opciones3, campo_valor3) values('$_REQUEST[campo_formulario_que_envia_el_primer_false]','$_REQUEST[campo_formulario_que_envia_valor1]','$_REQUEST[campo_formulario_que_envia_opcion1]','$_REQUEST[campo_formulario_que_envia_valor2]','$_REQUEST[campo_formulario_que_envia_el_segundo_false]','$_REQUEST[campo_formulario_que_envia_valor3]')" 
Si variás el orden de los campos de la tabla también funciona, por lo tanto vos podés manipular ese orden. Lo único que es un poco diferente es eso de que por cada consulta no generás un registro sino 3. Lo que yo haría es meter 3 insert into (uno por registro). Cada uno va a ser más corto porque solo va a tener los 2 campos de la base de datos y en values los dos campos del formulario que recibís.

Algo así sería el primero:

Código PHP:
mysql_query("insert into nombre tabla(opciones, valor) values('$_REQUEST[campo_formulario_que_envia_el_primer_false]','$_REQUEST[campo_formulario_que_envia_valor1]')"
  #5 (permalink)  
Antiguo 21/06/2012, 23:32
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: ordenar array para insertar en base de datos

y como recibo el array lo dejo para insertarlo en la base de datos como me indacas en el mensaje anterior
  #6 (permalink)  
Antiguo 22/06/2012, 00:11
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: ordenar array para insertar en base de datos

No entiendo la consulta. ¿Cómo recibís el array? ¿Actualmente no lo estabas recibiendo ya?
  #7 (permalink)  
Antiguo 22/06/2012, 00:21
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: ordenar array para insertar en base de datos

el array lo recibo asi

Código PHP:
Ver original
  1. $boletines = $_POST['boletines'];
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 04:03.