Foros del Web » Programando para Internet » PHP »

Array multidimensional de una consulta SQL

Estas en el tema de Array multidimensional de una consulta SQL en el foro de PHP en Foros del Web. Hola que tal! estoy tratando de guardar los datos que me trae mi base de datos y deseo guardarlos en un arreglo multidimensional, para luego ...
  #1 (permalink)  
Antiguo 20/08/2012, 15:32
 
Fecha de Ingreso: junio-2012
Mensajes: 7
Antigüedad: 11 años, 10 meses
Puntos: 0
Pregunta Array multidimensional de una consulta SQL

Hola que tal! estoy tratando de guardar los datos que me trae mi base de datos y deseo guardarlos en un arreglo multidimensional, para luego poder leerlos con Jquery en otra página....

El problema es que, no sé cómo hacer para que se guarden los archivos en el mismo arreglo... es decir:

Código PHP:
while ($miRow $exec->fetch())
    {
              
$jsondata = array(
        
"".$i."" =>$miRow['descripcion'],

        
"s".$i=>$miRow['id_material'],
                    );

                 
$i++;                    
    }
echo 
json_encode(array_map(utf8_encode,$jsondata)); 
y en el jquery tengo lo siguiente:

Código:
var dats = eval('(' + result + ')');
$.each(dats, function(k,v){alert(k+" -> " +v + ", "); });
al momento de mostrar los datos, solo me devuelve el último que guarda en el arreglo. Creo que el problema es que declaro el arreglo una y otra vez en el While, pero no tengo idea de cómo hacer ya que la cantidad de datos en la BD cambian constántemente....

les agradecería mucho la ayuda, estoy estancada ahí :( :(
  #2 (permalink)  
Antiguo 20/08/2012, 16:08
 
Fecha de Ingreso: octubre-2009
Mensajes: 48
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Array multidimensional de una consulta SQL

ya probaste asi:

Código PHP:
 $jsondata = array();
while (
$miRow $exec->fetch())
    {
        
$jsondata[$i][0] = $miRow['descripcion'];
        
$jsondata[$i][1] = $miRow['id_material'];                    
                 
$i++;                    
    }
echo 
json_encode(array_map(utf8_encode,$jsondata)); 
en la columna 0 del array guardas descripcion y en la columna 1 guardas id_material, aslgo asi implemente para unas tablas
  #3 (permalink)  
Antiguo 20/08/2012, 16:33
Avatar de corh861212  
Fecha de Ingreso: julio-2012
Ubicación: en el estado de mexico
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 3
Respuesta: Array multidimensional de una consulta SQL

utiliza una variale de session que guarde los datos de cada siclo algo asi
Código PHP:
Ver original
  1. $dbhost='localhost'; // Servidor
  2. $dbusername='daniel'; // Nombre de usuario
  3. $dbuserpass=''; // Contraseña
  4. $dbname='punto'; // Nombre de la base de datos
  5.  
  6. $link=mysql_connect($dbhost,$dbusername,$dbuserpass);
  7. mysql_select_db($dbname)or die('no se puede seleccionar la base de datos');
  8. $cosmic2= "SELECT * FROM producto WHERE codigo='".$_POST['agreprod']."'";
  9. $mime=mysql_query($cosmic2,$link)or die (mysql_error());
  10. while($disc=mysql_fetch_row($mime)) {
  11. $_SESSION['E'][]=$disc[5];//en esta parte se procede a guardar en el vector unicamente el precio
  12. $sem=array_sum($_SESSION['E']);
  13. }
  14.  
  15.        
  16.             if ($_POST['cv']){//esto es si es precionado el boton cancelarventa
  17.     unset($_SESSION['E']);//destrulle la variable de session .  
  18.     $sem=($_SESSION['E']);//crea nuevamente la variable de session en blanco
  19.     }
  20.  
  21.         if ($_POST['cp']){//esto es si se preciona el boton cancelar producto
  22.         array_pop($_SESSION['E']);//borra de variable de session el ultimo reg
  23.         $sem=array_sum($_SESSION['E']);//suma todo en la variable y lo refleja en $sem
  24.         }
  #4 (permalink)  
Antiguo 20/08/2012, 18:33
 
Fecha de Ingreso: junio-2012
Mensajes: 7
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Array multidimensional de una consulta SQL

Cita:
Iniciado por chenteb Ver Mensaje
ya probaste asi:

Código PHP:
 $jsondata = array();
while (
$miRow $exec->fetch())
    {
        
$jsondata[$i][0] = $miRow['descripcion'];
        
$jsondata[$i][1] = $miRow['id_material'];                    
                 
$i++;                    
    }
echo 
json_encode(array_map(utf8_encode,$jsondata)); 
en la columna 0 del array guardas descripcion y en la columna 1 guardas id_material, aslgo asi implemente para unas tablas
chenteb, como lo planteaste lo utilicé y al momento de mostrar los datos me dice que es un array (woow....) pero al parecer no estoy accediendo de una manera correcta a el.. creo que mi problema no es solo la declaración del arreglo sino cómo accedo a el mediante Json.. trataré de resolverlo a ver si me funciona.. muchas gracias!!
  #5 (permalink)  
Antiguo 20/08/2012, 18:42
 
Fecha de Ingreso: junio-2012
Mensajes: 7
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Array multidimensional de una consulta SQL

Cita:
Iniciado por corh861212 Ver Mensaje
utiliza una variale de session que guarde los datos de cada siclo algo asi
Código PHP:
Ver original
  1. $dbhost='localhost'; // Servidor
  2. $dbusername='daniel'; // Nombre de usuario
  3. $dbuserpass=''; // Contraseña
  4. $dbname='punto'; // Nombre de la base de datos
  5.  
  6. $link=mysql_connect($dbhost,$dbusername,$dbuserpass);
  7. mysql_select_db($dbname)or die('no se puede seleccionar la base de datos');
  8. $cosmic2= "SELECT * FROM producto WHERE codigo='".$_POST['agreprod']."'";
  9. $mime=mysql_query($cosmic2,$link)or die (mysql_error());
  10. while($disc=mysql_fetch_row($mime)) {
  11. $_SESSION['E'][]=$disc[5];//en esta parte se procede a guardar en el vector unicamente el precio
  12. $sem=array_sum($_SESSION['E']);
  13. }
  14.  
  15.        
  16.             if ($_POST['cv']){//esto es si es precionado el boton cancelarventa
  17.     unset($_SESSION['E']);//destrulle la variable de session .  
  18.     $sem=($_SESSION['E']);//crea nuevamente la variable de session en blanco
  19.     }
  20.  
  21.         if ($_POST['cp']){//esto es si se preciona el boton cancelar producto
  22.         array_pop($_SESSION['E']);//borra de variable de session el ultimo reg
  23.         $sem=array_sum($_SESSION['E']);//suma todo en la variable y lo refleja en $sem
  24.         }
gracias corh861212.. pero así lo guarde como variable de sesión no me sirve de mucho, porque al momento de convertirlo en objeto json y tratar de acceder a el desde otro lugar, no accede como debe ser.... es decir, yo puedo pasar eso a otra página con una variable de sesión o un arreglo normal, el problema es que necesito usar json y la manera que aconsejan es mediante arrays :/
  #6 (permalink)  
Antiguo 20/08/2012, 20:12
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Array multidimensional de una consulta SQL

o.O hacen una tormenta en un vaso e agua >.<

Código PHP:
Ver original
  1. $jsondata = array();
  2. while ($miRow = $exec->fetch())
  3.     {
  4.               $jsondata[] = array(
  5.         "".$i."" =>$miRow['descripcion'],
  6.  
  7.         "s".$i=>$miRow['id_material'],
  8.                     );
  9.  
  10.                  $i++;                    
  11.     }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: multidimensional, 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 19:02.