Foros del Web » Programando para Internet » PHP »

Guardar el contenido de un array en una bd sql

Estas en el tema de Guardar el contenido de un array en una bd sql en el foro de PHP en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php // tengo el siguiente código en el cual realizo una consulta y guardo todos los oxidos que cumplen ...
  #1 (permalink)  
Antiguo 13/03/2012, 09:54
 
Fecha de Ingreso: noviembre-2010
Ubicación: Bogotá
Mensajes: 41
Antigüedad: 13 años, 4 meses
Puntos: 1
Pregunta Guardar el contenido de un array en una bd sql

Código PHP:
Ver original
  1. <?php
  2. // tengo el siguiente código en el cual realizo una consulta y guardo todos los oxidos que cumplen esa condicion.
  3. include("conexion.php");
  4. $result = mysql_query("SELECT Id_fuente, Estado, oxido, Valor FROM formulas WHERE Id_fuente = '22' and Valor != '0' and Estado = 'Vigente'");
  5.  
  6. $i=0;
  7.                    
  8. while($rows=mysql_fetch_array($result))
  9. {
  10. $oxido[$i]=$rows["oxido"];
  11.  
  12. luego realizo otra consulta que me traiga el elemento correspondiente a cada oxido del arreglo y lo guarde en otro arreglo ($elemento)
  13.  
  14. $result1 = mysql_query("SELECT Elemento FROM oxidos WHERE Oxido = \"".$oxido[$i]."\"");
  15. $rows1=mysql_fetch_array($result1);
  16. $elemento[]=$rows1["Elemento"];
  17.  
  18. $i++;
  19. }
  20.  
  21.  
  22. print_r ($elemento);
  23. //aca cuando muetro lo que contiene $elemento lo muestra asi:
  24.  
  25. //Array ( [0] => N [1] => B [2] => K [3] => Mg [4] => P [5] => S )
  26.  
  27. //y aca quiero guardar el contenido del arreglo
  28. $qry="INSERT INTO fuentes(Id, Calculado) VALUES (NULL, '$elemento')";
  29. //pero aca me guarda es array en el campo Calculado y no los valores que tiene
  30. // como puedo guardar todos los valores del array en el campo Calculado
  31. // de antemano gracias
  32. ?>
  #2 (permalink)  
Antiguo 13/03/2012, 10:45
Avatar de xxxivanxxx  
Fecha de Ingreso: julio-2010
Ubicación: /home
Mensajes: 114
Antigüedad: 13 años, 7 meses
Puntos: 21
Respuesta: Guardar el contenido de un array en una bd sql

hola, por que no insertas directamente dentro del while¿?

Código PHP:
Ver original
  1. while($rows=mysql_fetch_array($result))
  2. {
  3. $oxido[$i]=$rows["oxido"];
  4.  
  5. luego realizo otra consulta que me traiga el elemento correspondiente a cada oxido del arreglo y lo guarde en otro arreglo ($elemento)
  6.  
  7. $result1 = mysql_query("SELECT Elemento FROM oxidos WHERE Oxido = \"".$oxido[$i]."\"");
  8. $rows1=mysql_fetch_array($result1);
  9. $elemento=$rows1["Elemento"];
  10. $qry="INSERT INTO fuentes(Id, Calculado) VALUES (NULL, '".$elemento."')";
  11. mysql_query($qry);
  12. $i++;
  13. }
__________________
<?="Hello World"?> -> si te gustÓ dale +1
  #3 (permalink)  
Antiguo 13/03/2012, 11:32
 
Fecha de Ingreso: noviembre-2010
Ubicación: Bogotá
Mensajes: 41
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Guardar el contenido de un array en una bd sql

igual y en el campo me guarda la palabra Array no el contenido
  #4 (permalink)  
Antiguo 13/03/2012, 11:47
Avatar de xxxivanxxx  
Fecha de Ingreso: julio-2010
Ubicación: /home
Mensajes: 114
Antigüedad: 13 años, 7 meses
Puntos: 21
Respuesta: Guardar el contenido de un array en una bd sql

Código PHP:
Ver original
  1. $elemento[]=$rows1["Elemento"];
verifica que $elemento ya no lleve "[]" puede que no hayas modificado eso:
Código PHP:
Ver original
  1. $elemento=$rows1["Elemento"];
__________________
<?="Hello World"?> -> si te gustÓ dale +1
  #5 (permalink)  
Antiguo 13/03/2012, 11:52
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 10 meses
Puntos: 528
Respuesta: Guardar el contenido de un array en una bd sql

Por que $elemento[] es un arreglo, y no puedes guardar un arreglo de un lenguaje en otro (php en sql) para esto tendrías que convertir el arreglo a una cadena, puede ser con implode, json_encode o serialize
  #6 (permalink)  
Antiguo 14/03/2012, 02:04
 
Fecha de Ingreso: marzo-2012
Ubicación: Valencia
Mensajes: 31
Antigüedad: 12 años
Puntos: 6
Respuesta: Guardar el contenido de un array en una bd sql

Utiliza serialize() para insertarlo y unserialize() para leerlo...

Etiquetas: bd, contenido, mysql, sql
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:22.