Hola !

De acuerdo al Guestbook As3 Xml de este Tutorial


http://foros.cristalab.com/tutorial-guestbook-as3-xml-y-php-t82894

tengo una duda . ¿como tengo que hacer para que las entradas se ordenen del post más reciente al más antiguo?

adjunto código



escribió:

var urlRequest:URLRequest = new URLRequest("messages.xml");
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener (Event.COMPLETE,fileLoaded);
urlLoader.load (urlRequest);

var myXML:XML = new XML();
myXML.ignoreWhitespace = true;
var xmlList:XMLList;

var arrayName:Array = new Array();
var arrayTitle:Array = new Array();
var arrayDate:Array = new Array();
var arrayFull:Array = new Array();

function fileLoaded (event:Event):void {
myXML = XML(event.target.data);
xmlList = myXML.children();

for (var i:int=0; i<xmlList.length(); i++) {
var xmlName:String = xmlList[i].name;
var xmlTitle:String = xmlList[i].title;
var xmlDate:String = xmlList[i].date;
var xmlFull:String = xmlList[i].full;
arrayName.push (xmlName);
arrayTitle.push (xmlTitle);
arrayDate.push (xmlDate);
arrayFull.push (xmlFull);

if (i == xmlList.length() - 1) {
updateText ();
}
}
}

messageText.htmlText = "Deja tu mensaje";
var maximumMessages:Number = 5;
var currentMessages:Number = 0;
function updateText () {
messageText.htmlText = "";

for (var i = currentMessages; i<maximumMessages; i++) {
messageText.htmlText += ("<b><u>Nombre:</u></b> " + arrayName[i]);
messageText.htmlText += ("<b><u>Titulo:</u></b> " + arrayTitle[i]);
messageText.htmlText += ("<b><u>Fecha:</u></b> " + arrayDate[i]);
messageText.htmlText += ("<b><u>Mensaje:</u></b> " + arrayFull[i]);
messageText.htmlText += (".....................................................");
}
currentMessages=i;
}

nextBt.addEventListener (MouseEvent.MOUSE_UP, nextFunc);
prevBt.addEventListener (MouseEvent.MOUSE_UP, prevFunc);

function nextFunc (event:MouseEvent) {
messageText.htmlText="";
maximumMessages+=5;
updateText ();
prevBt.enabled=true;
}
function prevFunc (event:MouseEvent) {
messageText.htmlText="";
maximumMessages-=5;
currentMessages-=10;
nextBt.enabled = true;
updateText ();
if (currentMessages<=5) {
prevBt.enabled=false;
}
}

if (arrayName.length <= maximumMessages) {
maximumMessages = arrayName.length;
nextBt.enabled = false;
}
if (currentMessages < 0) {
currentMessages = 0;
maximumMessages = 5;
nextBt.enabled = true;
}

nextBt.enabled = false;
prevBt.enabled = false;

inputName.text = "";
var newName:String = "";
inputTitle.text = "";
var newTitle:String = "";
inputFull.text = "";
var newFull:String = "";

function onEnterFrame (ev:Event):void {
if (inputName.text != "" && inputTitle.text != "" && inputFull.text != "") {
submitBt.enabled = true;
}
}

addEventListener (Event.ENTER_FRAME, onEnterFrame);

submitBt.addEventListener (MouseEvent.MOUSE_UP,sendData);

function sendData (event:MouseEvent):void {
var dateToday:Date = new Date();
var thismonth:uint = dateToday.getMonth();
var month:Array = new Array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
var dateStr:String = (dateToday.getDate()+" "+month[thismonth]+" "+dateToday.getFullYear());

newName = inputName.text;
newTitle = inputTitle.text;
newFull = inputFull.text;
var newItem:XML = XML("<message><name>" + newName + "</name><title>" + newTitle + "</title><date>"+ dateStr+ "</date><full>" + newFull + "</full></message>");
myXML.appendChild (newItem);

var request:URLRequest = new URLRequest("messages.php");
request.data = myXML;
request.contentType = "text/xml";
request.method = URLRequestMethod.POST;

var loader:URLLoader = new URLLoader( );
loader.load ( request );
loader.addEventListener ( Event.COMPLETE, loaderDone );
}
function loaderDone (evt:Event):void {
arrayName = [];
arrayTitle = [];
arrayDate = [];
arrayFull = [];
inputName.text = "";
inputTitle.text = "";
inputFull.text = "";
submitBt.enabled = false;
maximumMessages = 5;
currentMessages = 0;
messageText.htmlText = "";
urlLoader.load (urlRequest);
}