Foros del Web » Programando para Internet » PHP »

Insertar con un ciclo FOR

Estas en el tema de Insertar con un ciclo FOR en el foro de PHP en Foros del Web. hola, soy nuevo por estos foros y mi duda es la siguiente: en esta consulta $insert ="insert into temporal values("; for ($c=0; $c < $num1; ...
  #1 (permalink)  
Antiguo 07/04/2010, 15:24
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Exclamación Insertar con un ciclo FOR

hola, soy nuevo por estos foros y mi duda es la siguiente:
en esta consulta

$insert ="insert into temporal values(";
for ($c=0; $c < $num1; $c++ ) {
$insert.="'$data1['campo"."'$c'"."']'";
$insert.=",";
}
$insert.="'0')";

con ese codigo me saleel sigueinte error

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'

es algo con las comillas pero no se como acomodar ese codigo para que me tome el resultado que quiero
es posible hacer eso? por que me captura solo en mi base de datos Array[0]

de antemano gracias porlaayuda
  #2 (permalink)  
Antiguo 07/04/2010, 15:27
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Insertar con un ciclo FOR

Código PHP:
Ver original
  1. $insert ="insert into temporal values(";
  2. for ($c=0; $c < $num1; $c++ ) {
  3. $insert_array[] = "'".$data1["campo$c"]."'";
  4. }
  5. $insert .= implode("," , $insert_array);
  6. $insert .= ");";
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 07/04/2010, 15:33
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Respuesta: Insertar con un ciclo FOR

wow ke rapidez de respuesta, ya puse el codigo, no me marca error, pero me sigue insertando en mi base de datos Array[0]
  #4 (permalink)  
Antiguo 07/04/2010, 15:36
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Insertar con un ciclo FOR

eso es porque no tomas bien los valores
haz un var_dump a $data1 para ver que es lo que tienes ahi!
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 07/04/2010, 15:36
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Insertar con un ciclo FOR

si haces un echo de $insert que te sale?
  #6 (permalink)  
Antiguo 07/04/2010, 15:39
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Respuesta: Insertar con un ciclo FOR

mmmm si le pongo el echo $insert... no sale nada... creo ke eso esmalo
  #7 (permalink)  
Antiguo 07/04/2010, 15:48
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Respuesta: Insertar con un ciclo FOR

bien con el var_dump si me salen los datos que esta recibiendo, y agregando en codigo anterior sale este Error

Notice: Undefined index: campo0
  #8 (permalink)  
Antiguo 07/04/2010, 15:54
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Insertar con un ciclo FOR

en el for pon $c=1;$c<=$num1 o por si acaso pruebac con $c=0;$c<($num1+1)
  #9 (permalink)  
Antiguo 07/04/2010, 15:54
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Insertar con un ciclo FOR

pega el resultado del var_dump
__________________
More about me...
~ @rhyudek1
~ Github
  #10 (permalink)  
Antiguo 07/04/2010, 15:55
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Respuesta: Insertar con un ciclo FOR

entonces creo que tambien esta parte de codigo esta mal

$sql = "CREATE TABLE temporal (";
for ($c=0; $c < $num1; $c++ ) {
$sql .= "campo".$c." varchar(100),";
}
$sql.="id_temporal int(11) auto_increment PRIMARY key)";
  #11 (permalink)  
Antiguo 07/04/2010, 15:56
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Respuesta: Insertar con un ciclo FOR

el resultado del var_dump es
array(10) { [0]=> string(1) "1" [1]=> string(4) "NULL" [2]=> string(4) "NULL" [3]=> string(4) "NULL" [4]=> string(28) "[email protected]" [5]=> string(4) "NULL" [6]=> string(4) "NULL" [7]=> string(4) "NULL" [8]=> string(1) "1" [9]=> string(1) "3" }
  #12 (permalink)  
Antiguo 07/04/2010, 16:01
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Insertar con un ciclo FOR

uff no es un array asociativo debiste partir por eso
cambia esta linea

Código PHP:
Ver original
  1. $insert_array[] = "'".$data1["campo$c"]."'";

por esto

Código PHP:
Ver original
  1. $insert_array[] = "'".$data1[$c]."'";
__________________
More about me...
~ @rhyudek1
~ Github
  #13 (permalink)  
Antiguo 07/04/2010, 16:09
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Respuesta: Insertar con un ciclo FOR

bien, intente eso, no me marca errores pero ya no me inserta nada en la base de datos
  #14 (permalink)  
Antiguo 07/04/2010, 16:37
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Insertar con un ciclo FOR

y $insert_array[$c] = "'".$data1[$c]."'";?
  #15 (permalink)  
Antiguo 07/04/2010, 16:38
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Respuesta: Insertar con un ciclo FOR

Muy amables ya lo pude solucionar la version final de ese pedasito quedo asi

$insert ="insert into temporal values(";
for ($c=0; $c < $num1; $c++ ) {
$insert .= "'".$data1[$c]."'".",";
}
$insert .= "'0')";

como pueden ver le quite el implode y el Array

Muchas gracias

Etiquetas: ciclos
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 22:32.