Foros del Web » Programando para Internet » PHP »

Importante Array!!! :arriba:

Estas en el tema de Importante Array!!! :arriba: en el foro de PHP en Foros del Web. Buenas no sabia que titulo ponerle por que en realidad no se si un array soluciona esto. El tema es así, tengo una tabla que ...
  #1 (permalink)  
Antiguo 16/12/2004, 03:26
Avatar de gaitagarcia  
Fecha de Ingreso: julio-2002
Mensajes: 79
Antigüedad: 15 años, 5 meses
Puntos: 0
Sonrisa Importante Array!!! :arriba:

Buenas no sabia que titulo ponerle por que en realidad no se si un array soluciona esto.

El tema es así, tengo una tabla que tiene estos campos

id ----rubro ------------------categoría
1----Animales y Mascotas----Accesorios para Mascotas
2----Animales y Mascotas----Acuarios y Peces
3----Animales y Mascotas----Alimentos
4----Animales y Mascotas----Animales
5----Animales y Mascotas----Libros de Animales
6----Animales y Mascotas----Servicios
9----Arte y Antigüedades----Arte
10----Arte y Antigüedades----Artesanías
11----Arte y Antigüedades----Otros
12----Autos, Motos y Náutica----Aviones y Avionetas
13----Autos, Motos y Náutica----Motos

lo que yo necesito es hacer una especie de arrray creería que es la función.
El valor que necesito es el siguiente.

$num1 = Accesorios para Mascotas Acuarios y Peces Alimentos Animales Libros de Animales Servicios.

$num2 = Arte Artesanías Otros

$num3 = Aviones y Avionetas Motos

ósea que quiero tener x variables como x rubros distintos tenga, y que cada variable contenga todas las categorías siempre y cuando sus rubros sean iguales.

aquí va mi código

Código PHP:
require_once('Connections/bd_empresas.php');
mysql_select_db($database_bd_empresas$bd_empresas);
$query_rub "SELECT * FROM clasificados_categorias ORDER BY rubro ASC";
$rub mysql_query($query_rub$bd_empresas) or die(mysql_error());
$row_rub mysql_fetch_assoc($rub);
$totalRows_rub mysql_num_rows($rub);

do { 
$rubro=$row_rub['rubro']; 
$categoria=$row_rub['categoria']; 

if (
$rubro == "Animales y Mascotas"){
$b1 .= " $categoria "; } else {} 

$i++; } while ($row_rub mysql_fetch_assoc($rub));
  echo 
$b1
Este código me da
b1 = Accesorios para Mascotas Acuarios y Peces Alimentos Animales Libros de Animales Servicios Otros .

El tema está en que da el resultado por que lo estoy haciendo solamente con un rubro y no con todos y también no se como enumerar las variables, eje, b1 b2 b3 b4

Espero novedades.
Gracias
G
  #2 (permalink)  
Antiguo 16/12/2004, 03:36
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Pues si, con un array asociativo bidimensional lo puedes tener. Seria algo como:
Código PHP:
$totalRows_rub mysql_num_rows($rub);

$rubros=array(); // inicializamos
do {
$rubro=$row_rub['rubro'];
$categoria=$row_rub['categoria'];

$rubros[$rubro][]=$categoria;

} while (
$row_rub mysql_fetch_assoc($rub));

// $rubros contiene los rubros, y para cada rubro un array con categorias
// ejemplo para mostrarlo
foreach ($rubros as $nombre => $categorias) {
  echo 
$nombre.' : '.implode(', ',$categorias).'<br>';

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 16/12/2004, 09:34
Avatar de gaitagarcia  
Fecha de Ingreso: julio-2002
Mensajes: 79
Antigüedad: 15 años, 5 meses
Puntos: 0
De acuerdo Buenisimo

10 mil millones de gracias, funciona de maravillas. Y muy buena tu respuesta, en realidad pense que me iva a responder alguien que responde todos los post y en todos te dice " LEE EL MANUAL", y todas sus paginas de referencias LIKE 'mysql' or LIKE 'php' y nunca una ayuda. Estoy agradecido infinitamente.

Tambien si no te molesta quisiera que me expliques la parte en el codigo donde habla de los arrays.

y Otra mas, yo vi en algun lado que usan algo asi.

Código PHP:
$rubros[0
Código PHP:
$rubros[1
Código PHP:
$rubros[2
Código PHP:
$rubros[3
como se puede hacer eso?
Muchas Gracias
G
  #4 (permalink)  
Antiguo 16/12/2004, 09:58
Avatar de gaitagarcia  
Fecha de Ingreso: julio-2002
Mensajes: 79
Antigüedad: 15 años, 5 meses
Puntos: 0
tambien otra cosa que me olvide

Necesitaria saber como puedo hacer para ir grabando los datos en una variable que se autoincremente, osea. por ejemplo lo que necesitaria es algo asi.

$num1 = Accesorios para Mascotas Acuarios y Peces Alimentos Animales Libros de Animales Servicios.

$num2 = Arte Artesanías Otros

$num3 = Aviones y Avionetas Motos

cosa que despues del foreach yo pueda preguntar por $num1 y me diga los valores de num1 el tema esta que no se como hacer para que me valla autoincrementando la variable cosa que si tengo 10 rubros me quede q $num10 sea el ultimo.

Gracias
  #5 (permalink)  
Antiguo 17/12/2004, 00:22
Avatar de gaitagarcia  
Fecha de Ingreso: julio-2002
Mensajes: 79
Antigüedad: 15 años, 5 meses
Puntos: 0
Exclamación Una Cosa Mas

<?php
$rubros[$rubro][]=$categoria;
$ideses[$categoria][]=$ides;
} while ($row_rub = mysql_fetch_assoc($rub));

foreach ($rubros as $nombre => $categorias) {
echo $nombre;
echo $control = implode("','",$categorias);
?>

JOSEMI, esto me funciono perfectamente ahora lo que necesito es que me des una mano con algo que tengo que agregar es el otro campo del id al que pertenece en otro $control, osea esto me devuelve, por ejemplo
Animales y Mascotas----Accesorios para Mascotas','Acuarios y Peces','Alimentos','Animales','Libros de Animales','Servicios
yo lo que necesitaria es algo asi como
echo $control_id = implode("','",row_rub['id']); cosa que me tire en otro lado tambien sus id que le pertenecen a cada uno. Muchas gracias desde ya.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:00.