Foros del Web » Programando para Internet » PHP »

ayuda Array 3 dimensiones

Estas en el tema de ayuda Array 3 dimensiones en el foro de PHP en Foros del Web. Buenas amigos, mi pregunta es la siguiente. Tengo 3 valores a los cuales los quiero agregar varias veces a un campo en mysql. les doy ...
  #1 (permalink)  
Antiguo 21/12/2007, 03:23
Avatar de gaitagarcia  
Fecha de Ingreso: julio-2002
Mensajes: 79
Antigüedad: 21 años, 9 meses
Puntos: 0
Pregunta ayuda Array 3 dimensiones

Buenas amigos, mi pregunta es la siguiente.
Tengo 3 valores a los cuales los quiero agregar varias veces a un campo en mysql.
les doy el ejemplo asi se entiende mejor

$Var1=$articulo;
$Var2=$cantidad;
$Var3=$precio;
y yo quiero guardar por ejemplo asi.
{$articulo1,$cantidad1,$precio1} {$articulo2,$cantidad2,$precio2} {$articulo3,$cantidad3,$precio3}

La idea es guardar los datos de un pedido de manera que para el articulo1 tenga la cantidad y el precio del mismo, para el articulo2, la cantidad y el precio del mismo, etc etc, y guardarlo en un campo.

esto lo estoy por usar en una plataforma que hace un presupuesto, y quiero guardar los mismos datos en una base de datos, asi despues puedo ver el presupuesto y saber a cuanto se vendio determinado articulo y la cantidad del mismo.

Graficamente seria algo asi
ARTICULO___CANTIDAD___PRECIO
0000001______20_________$20
0000002______12_________$21
0000003______15_________$12
0000004______61_________$45


Creo que tengo que guardar los datos en un array pero me es dificil y no encontre mucha ayuda. Gracias
  #2 (permalink)  
Antiguo 21/12/2007, 06:49
 
Fecha de Ingreso: enero-2002
Mensajes: 265
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: ayuda Array 3 dimensiones

Supongo podrias guardar en un campo de una BD todas las variables que quieras separadas por comas, por ejemplo y después leerlas con el explode. Pero porque no crear tres columnas en la base de datos? No acabo de entender. Si el nombre de artículo són números bien, pero si son nombres y le introduces una coma o el caracter separador del explode podria ser un poco lioso...

Soy uno de los que normalmente preguntan, responder no me va muy bien pero he leido eso y, o entendí mal o creo q seria mejor 3 columnas
  #3 (permalink)  
Antiguo 21/12/2007, 11:34
Avatar de gaitagarcia  
Fecha de Ingreso: julio-2002
Mensajes: 79
Antigüedad: 21 años, 9 meses
Puntos: 0
Exclamación Re: ayuda Array 3 dimensiones

la idea es crear una sola columna en la BD cosa que la columna contenga todos los valores separados en grupos de a 3.
Algo asi.
{$articulo1,$cantidad1,$precio1} {$articulo2,$cantidad2,$precio2} {$articulo3,$cantidad3,$precio3}{...}

Pense hacerlo de la manera que me decis, pero se me complica cuando tengo q imprimir dicho resultado.

De esa forma ( 3 Columnas ) tendria que hacer una consulta a la base de datos para primero sacar el Articulo 1, dentro de esa formula, hacer otra consulta para la cantidad1 y otra consulta para el precio1, osea 3 consultas por cada fila de esa columna. Y si tengo por ejemplo 10 Celdas serian 30 consultas a la base de datos.

Creo que lo mejor es hacer un array donde colocar cada 3 campos. Pero no se como hacerlo. AYUDA PLEASE
  #4 (permalink)  
Antiguo 21/12/2007, 11:51
 
Fecha de Ingreso: enero-2002
Mensajes: 265
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: ayuda Array 3 dimensiones

Entonces lo que haría sería guardar en el campo el $articulo1,$cantidad1,$precio1. Separado por comas.

Después de la consulat a la BD te devolveria, por ejemplo, "40052,500,25", no?

Entonces puedes hacer
Cita:
$datos=explode($variable_q_tedevuelve_laBD,',');
Entonces $datos será una array y en $datos[0] tienes la referencia (40052), en datos[1]=500 i $datos[2]=25

Espero haberte ayudado...

Salu2
  #5 (permalink)  
Antiguo 21/12/2007, 13:21
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Re: ayuda Array 3 dimensiones

Cita:
Iniciado por gaitagarcia Ver Mensaje
De esa forma ( 3 Columnas ) tendria que hacer una consulta a la base de datos para primero sacar el Articulo 1, dentro de esa formula, hacer otra consulta para la cantidad1 y otra consulta para el precio1, osea 3 consultas por cada fila de esa columna. Y si tengo por ejemplo 10 Celdas serian 30 consultas a la base de datos.
Creo que podrias bien leer un poco de diseño de bases de datos.. con una sola consulta puedes sacar los datos de las 3 columnas.. de hecho para lo que tu deseas es mejor manejar el modelo "entidad-relación" bueno , todo depende lo profesional que te gute trabajar.. creo que es un error que la base de datos guarde datos sucios, que en realidad podrias separar logicamente en el diseño.. pero en fin la solución que te proponen pues es lo que quieres al parecer

Si tienes una tabla.. con estas columnas..

ARTICULO___CANTIDAD___PRECIO

Pues muetras los datos con una sola consulta

Código PHP:
$SQL "SELECT tabla.ARTICULO,tabla.CANTIDAD,tabla.PRECIO FROM tabla";
$query mysql_query($SQL);
//sacas los registros
while ($registro mysql_fetch_assoc($query))
{
echo 
$registro['ARTICULO'];
echo 
$registro['CANTIDAD'];
echo 
$registro['PRECIO'];

__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador

Última edición por _ssx; 21/12/2007 a las 13:31
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 23:19.