Foros del Web » Programando para Internet » PHP »

Insert - array

Estas en el tema de Insert - array en el foro de PHP en Foros del Web. hola, recojo la información en un array despues de un select de la siguiente forma: $result=mysql_query("SELECT * FROM tabla ORDER BY identificador",$conectar); while ($row = ...
  #1 (permalink)  
Antiguo 16/03/2004, 10:25
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
Mensaje Insert - array

hola, recojo la información en un array despues de un select de la siguiente forma:

$result=mysql_query("SELECT * FROM tabla ORDER BY identificador",$conectar);
while ($row = mysql_fetch_array($result))
{
echo "<input type="checkbox" name="cd[]" value = "'.echo $row["cd"].'";
}

ok esto me funciona bien.. pues el select... va a la base de datos me muestra los datos y demás... lo que no me funciona es el insert.. pues el recorrer el array.. aguna sugerencia
  #2 (permalink)  
Antiguo 16/03/2004, 10:34
 
Fecha de Ingreso: febrero-2001
Ubicación: /home/mystery
Mensajes: 17
Antigüedad: 23 años, 1 mes
Puntos: 0
Proba asi...

$result=mysql_query("SELECT * FROM tabla ORDER BY identificador",$conectar);
while ($row = mysql_fetch_array($result))
{
echo "<input type=\"checkbox\" name=\"cd[]\" value = \"".$row['cd']."\"";
}

Probalo y contanos...

Atte. Myst
__________________
Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo.
  #3 (permalink)  
Antiguo 16/03/2004, 11:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y que código usas para tu INSERT donde obtienes el array generado en tu variable 'cd' ? .. como lo procesas?



Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 16/03/2004, 12:39
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
asi proceso el cd[] cuando llega para hacerlo pero no funciona..


for($i=0;$i<count($cd);$i++)
{
$vrble = cd[$i];
$result=mysql_query("insert into nombre_tabla (cd) values ('$cd')",$conectar);
}

  #5 (permalink)  
Antiguo 16/03/2004, 13:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Parece que te equivocastes en tu INSERT .. no es $cd el valor que debes usar sino el de tu $vrble

Código PHP:
for($i=0;$i<count($cd);$i++)
{
$vrble cd[$i];
$result=mysql_query("insert into nombre_tabla (cd) values ('$vrble')",$conectar);

Por cierto .. lo mismo con un foreach() (el $result no te hace falta para el caso de un insert .. si quieres usa un "or die" por si falla la consulta ..:

Código PHP:
foreach ($cd as $vrble){
   
mysql_query("insert into nombre_tabla (cd) values ('$vrble')",$conectar) or die (mysql_error());


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 16/03/2004, 13:49
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
mmm no me quiere funcionar no me ingresa

$result =mysql_query("select * from tabla order by identificador",$conectar);
while ($row = mysql_fetch_array($result))
{
?>
<input type="checkbox" name="cd[]" value = "<?echo $row["cd"];?>">
<?
}
?>

y apenas elijo los checkbox, lo envio a otro script y esto esta en el insert...paso el array cd[] "supuestamente" y la variable $otra_vble.

for($i=0;$i<count($cd);$i++)
{
$vrble = $cd[$i];
mysql_query("INSERT INTO tabla2 (otra_vble, vrble)
values ( '$otra_vble', '$vble')",$conectar);
}

  #7 (permalink)  
Antiguo 16/03/2004, 13:55
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
prueba de hacer un echo de del insert, aver que sale


for($i=0;$i<count($cd);$i++)
{
$vrble = $cd[$i];
$sql = ("INSERT INTO tabla2 (otra_vble, vrble)
values ( '$otra_vble', '$vble')",$conectar

echo $sql;

mysql_query("INSERT INTO tabla2 (otra_vble, vrble)
values ( '$otra_vble', '$vble')",$conectar);
}

saliendo la sentecia sql puedes ver que error da; y tb nos la pueds dejar ver, te prodremos ayudar mejor

por el momento que veo, o quizas no lo entiendo es eso:

vble')",$conectar);, que es esta variable $concatenar , ??

saludos
  #8 (permalink)  
Antiguo 16/03/2004, 14:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Salome ...

Para no ir creando malos habitos .. acostumbrate a usar los arrays superglobales tipo $_POST .. $_GET .. etc dependiendo del método que usastes para enviar tus datos .. Es probable que uses register_globals a ON ahora ..pero si cambias a OFF esa directiva tus scripts que asumen como globales toda variable no funcionarán..

Si pones código "fuera de contexto" .. siempre estarán las dudas (cara a nosotros que intentamos ayudar) de donde sale tal variable. Caso de lo que se está preguntado el anterior compañero. Pon todo el código que uses y si hay llamadas a cosas externas (por un include() etc ..) pon tambien su código si llega a ser relevante. Así podremos atinar mejor con la respuesta.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 16/03/2004, 14:10
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
Bueno, gracias por su colaboración les cuento que ya me funciona y de la forma más extraña... a ver puse esto asi cuando recibo las vbles (ah por cierto lo del $_POST y el $_GET lo uso, pero como es una prueba lo olvido a ratos..pero grazie.. : )

ok quedo asi entonces el insert...

Código PHP:
for($i=0;$i<count($cd);$i++)
{
mysql_query("insert into tabla2 (otra_vble, vrble)
                       VALUES ( '$otra_ble', '$cd[$i]')"
,$conectar);

y asi ingresa... colocando el $cd[$i] en el insert....


Última edición por Salome; 16/03/2004 a las 14:14
  #10 (permalink)  
Antiguo 16/03/2004, 14:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. ahora que lo dices .. fijate:

$vrble = $cd[$i];

mysql_query("INSERT INTO tabla2 (otra_vble, vrble)
values ( '$otra_vble', '$vble')",$conectar);

Observas el detallito de la "r" que le faltó?

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 16/03/2004, 14:24
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
no no no no es el valor de r.... a ver lo que pasa es que cambio el nombre de las variables a veces cuando posteo pues son un poco largos por estandares de la empresa.. entonces solo fue error de digitación aca en el post....

No era ese el error....

Se soluciono el ingreso de esa variable del valor de esa variable colocando el array en posición i en el insert.. en values...ves..
  #12 (permalink)  
Antiguo 16/03/2004, 14:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Por cierto .. detalles así de variables con un nombre mal escrito y demás los puedes ver si en fase de desarrollo trabajas con:

error_reporting (E_ALL);

al principio de tus scritps o bien modificando php.ini para tal fin.

Así veras "warnigs" y "notices" sobre variables no definidas (caso del ejemplo que estaba "mal" escrita. También te obligará a programar algo mejor por qué tendras que ir usando extrucutaras tipo:

if (isset($_POST['variable'])){
// la usas ... (la variable) ...
}

Pero eso ya es otro cuento.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #13 (permalink)  
Antiguo 16/03/2004, 14:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ok, salome ...

pero fijate que si tienes un problema que de raiz es algo de sintax, equivocación al digitar o similar .. si no nos pones el código -tal cual- que uses al final gastamos tiempo unos y otros en evaluar un problema que no es el real .. así que para otra vez por favor intenta poner el código exacto que te dé el problema a no ser que tengas problemas de "concepto" con alguna técnica o similar ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #14 (permalink)  
Antiguo 16/03/2004, 14:41
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
jajaja ok... que pena con ustedes... no lo vuelvo a hacer

ciao... y grazie!
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 06:41.