cĂłmo ordenar con krsort()

truji
27 de Noviembre del 2003
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!

Ruben
27 de Noviembre del 2003
¿Por que no lo recorres al reves?->previous()
¿Por que no usas base de datos? Es mas rapido, eficiente y evitas esos problemas. :-?