Foros del Web » Programando para Internet » PHP »

Cómo puedo entrar valor de array en BD?

Estas en el tema de Cómo puedo entrar valor de array en BD? en el foro de PHP en Foros del Web. Buenas a tod@s! Tengo un problemilla para entrar unos valores en la BD y no sé cómo hacerlo aunque seguro que tiene solución. Tengo unos ...
  #1 (permalink)  
Antiguo 06/05/2013, 02:59
 
Fecha de Ingreso: octubre-2010
Ubicación: Costa Brava
Mensajes: 58
Antigüedad: 13 años, 6 meses
Puntos: 2
Cómo puedo entrar valor de array en BD?

Buenas a tod@s!

Tengo un problemilla para entrar unos valores en la BD y no sé cómo hacerlo aunque seguro que tiene solución.

Tengo unos valores guardados en una array y la variable que los contiene es de tipo $q[$i] puesto que $i es el valor del id que ocupa cada caso en los checkbox que tiene el formulario.

Recojo los datos de la siguiente manera:
Código PHP:
$q $_POST['q']; //q_id
        
$countq count($q);
        for (
$i 0$i $countq$i++) {
        echo 
$q[$i];} 
y éste es el código para entrarlo a la BD:
Código PHP:
$SQL_q="INSERT INTO pl_cl_q (pl_id, q_id) values('".$pl_id."','".$q[$i]."')"
Me devuelve el siguiente error:

Notice: Undefined offset: 7 in ...

Alguna sugerencia porfavor?

Muchas gracias!
  #2 (permalink)  
Antiguo 06/05/2013, 06:33
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Cómo puedo entrar valor de array en BD?

Notice: Undefined offset: 7 in Simplemente estás intentando acceder a un índice que no existe. Comprueba que $_POST['q'] comienze en el index 0 y no 1.
Salu2
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 06/05/2013, 07:46
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 3 meses
Puntos: 20
Respuesta: Cómo puedo entrar valor de array en BD?

Cita:
$SQL_q="INSERT INTO pl_cl_q (pl_id, q_id) values('".$pl_id."','".$q[$i]."')";
Esto lo tienes en for loop también ?
  #4 (permalink)  
Antiguo 06/05/2013, 07:57
 
Fecha de Ingreso: octubre-2010
Ubicación: Costa Brava
Mensajes: 58
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Cómo puedo entrar valor de array en BD?

Buenas y gracias por responder!

He modificado el
for ($o = 1; $o < $countsv; $o++) {
ya que en la BD empieza el id con 1 en vez de 0.

for loop? no lo tengo así, deberia??

Muchas gracias por vuestro tiempo
  #5 (permalink)  
Antiguo 06/05/2013, 09:09
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 3 meses
Puntos: 20
Respuesta: Cómo puedo entrar valor de array en BD?

Cita:
Iniciado por Tetide Ver Mensaje
for loop? no lo tengo así, deberia??
for ($o = 1; $o < $countsv; $o++) { esto es un for loop :P loop == bucle
  #6 (permalink)  
Antiguo 08/05/2013, 08:04
 
Fecha de Ingreso: octubre-2010
Ubicación: Costa Brava
Mensajes: 58
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Cómo puedo entrar valor de array en BD?

perdón por la empanada
  #7 (permalink)  
Antiguo 08/05/2013, 14:02
 
Fecha de Ingreso: mayo-2013
Mensajes: 3
Antigüedad: 10 años, 11 meses
Puntos: 1
Respuesta: Cómo puedo entrar valor de array en BD?

Pues yo ya he probado el código que tu pones y a mi no me da ningún error. Que es lo que quieres hacer exactamente? Recoger un valor en $q e insertarlo en tu base de datos dividido en caracteres o como una string tal y como la recogiste con el $_POST . Porque al tratar a $q como un array ($q[]) lo que haces es dividirlo en caracteres ejemplo la cadena "nombre" almacenada en $q; entonces $q[0] sería el carácter "n". Porque $q en tu código no es en sí un array, lo que haces es asignarle un valor almacenado en $_POST en el índice "q" en concreto y no el array completo.
  #8 (permalink)  
Antiguo 10/05/2013, 05:58
 
Fecha de Ingreso: octubre-2010
Ubicación: Costa Brava
Mensajes: 58
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Cómo puedo entrar valor de array en BD?

Cita:
Iniciado por Goodly Ver Mensaje
Que es lo que quieres hacer exactamente? Recoger un valor en $q e insertarlo en tu base de datos dividido en caracteres o como una string tal y como la recogiste con el $_POST .
Buenas Goodly,

Mi objetivo es poderlo insertar en la BD. A ver si consigo explicarlo bien:

Lo que recibo por post es:

[sv] => Array ( [0] => 1 [1] => 2 [2] => 4 )

Entonces, mi intención es, conseguir extraer de alguna manera que desconozco la información para disponer de algo parecido a:
sv=1
sv=2
sv=4

para luego insertarlo en la BD:

Código PHP:
$SQL_sv="INSERT INTO pl_cl_sv (pl_id, sv_id) values('".$pl_id."','".[B]XXX[/B]."')"
Lo que debería hacer esto es ejecutarlo una vez para cada resultado obtenido del array, y el resultado en mi base de datos debería ser:

pl_id sv
100 1
100 2
100 4

Creo que el SQL de entrada va a tener que ser algo parecido a un bucle, o tal vez hacer el bucle cuando extraiga la info del array.... estoy un poquito bloqueada y no lo veo claro.

Muchas gracias por tu atención.

Etiquetas: formulario, sql, valor
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 08:41.