Foros del Web » Programando para Internet » PHP »

Listado de noticias

Estas en el tema de Listado de noticias en el foro de PHP en Foros del Web. Hola, tengo una base de datos mysql con noticias diferenciadas por meses, lo que quiero es listarlas de esta forma: ############### Mes Febrero --noticia1 febrero ...
  #1 (permalink)  
Antiguo 30/01/2006, 09:15
 
Fecha de Ingreso: diciembre-2002
Ubicación: Madrid
Mensajes: 378
Antigüedad: 15 años
Puntos: 11
Listado de noticias

Hola, tengo una base de datos mysql con noticias diferenciadas por meses, lo que quiero es listarlas de esta forma:

###############

Mes Febrero
--noticia1 febrero
--noticia2 febrero

Mes Enero
--noticia1 enero
--noticia2 enero
--noticia3 enero

######


Tengo este código:

Código:
 $sql="SELECT * FROM nodo_categorias ORDER BY fecha DESC";
 $resultado =mysql_query($sql) or die ('error al ejecutar la consulta');

 while ($noticias=mysql_fetch_array($resultado))
 { 
    echo   "Mes ". $noticias['nombre'] . "<br>";
    $sql2="SELECT * FROM nodo_articulos ORDER BY fecha DESC";
    $resultado2 =mysql_query($sql2) or die ('error al ejecutar la consulta');
	 while ($articulos=mysql_fetch_array($resultado2))
 		{
		  if($articulos['id'] == $noticias['id'])
		     {
	               echo   " --". $articulos['titulo'] . "<br>";
		     }
		}
 }
No funciona del todo ya que solo me lista la 1º noticia de cada categoria.

Es decir la parte en la que comprueba la categoría de cada noticia, solo funciona 1 vez:

Código:
if($articulos['id'] == $noticias['id'])
		{
	echo   " --". $articulos['titulo'] . "<br>";
		}

¿Alguien me puede ayudar ?
Saludos.
  #2 (permalink)  
Antiguo 30/01/2006, 09:51
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
Si yo fuera tú, haría una sola consulta de noticias agrupándolas por el mes utilizando el comando GROUP BY (el campo que sea).

Otra cosa, esta consulta sería más bien de mysql. Tienes todo un foro de mysql a tu disposición en esta misma web.

Saludos.
  #3 (permalink)  
Antiguo 30/01/2006, 11:14
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 11 años, 10 meses
Puntos: 0
Otra cosa que tambien podris hacer es general una URL de los meses que tengas ejemplo.

Enero: noticias.php?mes=1
y seleccionas todas las noticias segun el mes que seleccionen.

y listo.
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #4 (permalink)  
Antiguo 30/01/2006, 11:58
 
Fecha de Ingreso: diciembre-2002
Ubicación: Madrid
Mensajes: 378
Antigüedad: 15 años
Puntos: 11
Gracias por las respuestas.

carlosfocus pensaré esa opción
  #5 (permalink)  
Antiguo 30/01/2006, 22:17
 
Fecha de Ingreso: agosto-2005
Mensajes: 22
Antigüedad: 12 años, 3 meses
Puntos: 0
$result=mysql_query("select * from XXXXXX order by fecha desc",$link);

while($row=mysql_fetch_array($result))
{

$fecha=$row[fecha];

$anos=$fecha[0].$fecha[1].$fecha[2].$fecha[3];

if($anos!=$repite)
{

$texto='<a href="archivos.php?ano='.$anos.'">'.$anos.'</a><br>';

echo "$texto";

$repite=$anos;

}

$meses=($fecha[5]*10)+$fecha[6];

if($meses!=$repite2 && $anos==$ano)
{

$nuevo=meses($meses);

$texto='&nbsp; <a href="archivos.php?ano='.$anos.'&mes='.$meses.'">' .$nuevo.'</a>';

echo "$texto";

$repite2=$meses;

}

if($mes==$meses && $ano==$anos)
{

$texto='&nbsp; &nbsp; <a href="pagina2.php?id='.$row[id].'">'.$row[titulo].'</a> &nbsp; <b>AUTOR:</b> '.$row[autor].' &nbsp; <b>FECHA:</b> '.$row[fecha];

echo "$texto";

}

}

---------------------------------------------------------------

mira yo hice ese codigo, hace precisamente lo que quieres, no soy un experto en php ni mysql asi que seria bueno que lo arreglaras como tu quieras... pero el codigo hace exactamente lo que quieres
  #6 (permalink)  
Antiguo 31/01/2006, 08:40
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 11 años, 10 meses
Puntos: 0
Por favor enmarquen los codigos en sus etiquetas respectivas gracias
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 11:31.