Foros del Web » Programando para Internet » PHP »

Acceder a todos los elemento del array

Estas en el tema de Acceder a todos los elemento del array en el foro de PHP en Foros del Web. Hola En teoría este script contra la bd debería de mostrar Cita: Enero noticia 1 noticia 2 .... Febrero noticia 1 noticia 2 .... Pero ...
  #1 (permalink)  
Antiguo 31/10/2009, 16:05
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Acceder a todos los elemento del array

Hola

En teoría este script contra la bd debería de mostrar

Cita:
Enero
noticia 1
noticia 2
....

Febrero
noticia 1
noticia 2
....
Pero solo logro que imprima el primer registro (Enero) con sus noticias. La primera consulta me trae 12 registros en base a ellos realizo la segunda consulta, para así sacar las noticias que corresponden a cada registro de la primera consulta

Código PHP:
<?php
include("ink_con.php");  
$bd = new Conectar();  

$consulta $db->consulta("SELECT Distinct(Mes) FROM tabla");  

if(
$bd->filas($consulta)>0){  
while(
$resultados $bd->registros($consulta)){  
echo 
$resultados['Mes']. "<br />";

$consulta $bd->consulta("SELECT Mes, Noticia FROM tabla WHERE Mes = '$resultados[Mes]'");  

while(
$resultados2 $bd->registros($consulta)){  
echo 
$resultados2['Noticia']. "<br />";

}
echo 
"<br /><br />";
}
}
$bd->cerrar_con();
?>
¿Que estoy haciendo mal?

Gracias
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #2 (permalink)  
Antiguo 31/10/2009, 16:30
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Acceder a todos los elemento del array

La funcion registros como esta hecha? Parece que el error esta ahi, pq veo el codigo y no encuentro ningun error...

Saludos.
  #3 (permalink)  
Antiguo 01/11/2009, 06:50
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Acceder a todos los elemento del array

Hola, gracias por interesarte

Esta es la función

Código php:
Ver original
  1. public function registros($consulta){  
  2. return mysql_fetch_array($consulta);  
  3. }

Devuelve un arreglo. Ahora con el resultado de ese arreglo, ataco a la bd, para así mostrar las noticias de cada mes
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 01/11/2009, 06:57
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Acceder a todos los elemento del array

Ahhh ya esta! ya encontre el error!! Mira te lo pongo por pasos!

- Fijate que vos tenes esta consulta: $consulta = $db->consulta("SELECT Distinct(Mes) FROM tabla");
- La consulta le haces este bucle: while($resultados = $bd->registros($consulta))

Luego....

- Haces esta consulta: $consulta = $bd->consulta("SELECT Mes, Noticia FROM tabla WHERE Mes = '$resultados[Mes]'");
- Para la cual haces este bucle: while($resultados2 = $bd->registros($consulta))

Cual es el tema? Que cuando terminas el bucle y volves de nuevo, vos pensas q deberia mostrar FEBRERO, no? Pero no es asi! Porque cambiaste el valor de consulta y lo usaste para mostrar todas las noticias, fijate que las dos consultas las guardas en la variable $consulta. Cambia el nombre de la variable donde guardas el query hacia las noticias, por $consulta2, o como quieras, y tambien el nombre del query en el bucle que haces luego, ahi deberia funcionar todo!

Fijate, cualquier cosa postea de nuevo. Espero que te haya servido la ayuda.

Saludos.
  #5 (permalink)  
Antiguo 01/11/2009, 07:10
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Acceder a todos los elemento del array

Justamente era eso. Gracias
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #6 (permalink)  
Antiguo 01/11/2009, 07:14
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Acceder a todos los elemento del array

Listo jeje, de nada. Me paso un monton de veces, yo a todas las variables las llamo como $query, y cuando tengo q anidar me equivoco!

Saludos.
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 18:10.