Foros del Web » Programando para Internet » PHP »

cómo ordenar con krsort()

Estas en el tema de cómo ordenar con krsort() en el foro de PHP en Foros del Web. Hola, Tengo un sistema de noticias insertadas en un fichero de texto, cada línea está separada por "\n" y dentro de ella hay diferentes registros ...
  #1 (permalink)  
Antiguo 27/11/2003, 06:38
lti
 
Fecha de Ingreso: noviembre-2003
Mensajes: 1
Antigüedad: 20 años, 5 meses
Puntos: 0
cómo ordenar con krsort()

Hola,

Tengo un sistema de noticias insertadas en un fichero de texto, cada línea está separada por "\n" y dentro de ella hay diferentes registros como "título", "texto", "imagen" separados por ||.

El problema es que se inserta la notícia nueva al final del fichero, y al leer las notícias empieza a leer por la primera línea de datos,
de este modo la notícia más reciente (que es la última línea del texto) se visualiza la última.

¿Cómo puedo hacer para que empiece a leer por la última línea del fichero de texto, y así se visualice primero la notícia más reciente?

Lo he probado con krsort() y me va bien, pero me visualiza toda la línea completa, necesito que me lea/visualice sólo por ejemplo el primer dato y el tercer dato de la línea (datos separados por ||).

Éste es el código que he utilizado:

<?php
// ordenar el array

$thenews = file("admin/news.dat"); //fichero de texto donde hay las noticias insertadas

krsort($thenews);
reset($thenews);

print ("Notícias ordenadas de más reciente a más antigua:<BR>");

for ($n = 0; $n < count($thenews); $n++)
$getdata = explode("||", $thenews[$n]); //para seleccionar cada registro dentro de la línea

{
$Line = each ($thenews); //para visualizar todas las líneas

print ("$Line[value]<BR>\n"); //aquí se visualiza toda la línea de la notícia separados los registros por ||

print ("$getdata[2]<br>\n$getdata[3]<BR>\n"); //aquí se visualiza los registros 2 y 3 separados por || en el archivo de texto.

}
// final ordenar el array

?>

Perdonad el rollazo, pero me quiero asegurar que lo explico bien.

gracias por adelantado!
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 03:03.