|
|
|
| попробую объяснить как можно покароче и попонятней.....
Есть файл в котором хранятся все сообщения чатлан, к примеру:
1119242759|all|root||twaqaae43576e
1119242760|all|root||etrser
1119242762|all|root||esertedrh
1119242764|all|root||rrdrhn
1119242767|all|root||ergjf
1119242769|all|root||rejmk.o
1119242771|all|root||eeрогопн
1119242773|all|root||rrdhvvb g
1119242775|all|root||eeyjyhf
1119242776|all|root||rr3444
1119242777|all|root||eew4t34
1119242779|all|root||rraw23rt
1119242780|all|root||eeцу
1119242760|all|Бот||нас покидает Маня (timeout)//При логине Васи скрипт выкинул Маню,
//а время записывается то в которое Она последний раз обращалась к странице
1119242781|all|Бот||в чат влетает Вася//обратите внимание на время оно не попорядку!
|
ну и есть фрейм который форматирует и выводит на страницу этот файл сообщений наподобие:
$us_v = file($mes);
$co = sizeof($us_v);
$us_v = array_reverse ($us_v);
for($i=0;$i<$co;$i++){
list($data,$view,$name_by,$name_to,$messa) = split('[|]', trim($us_v[$i]));
$data=date('H:i',$data);
$newus_v = explode("|", $us_v[$i]);
if(($newus_v[1]==$say_privat) && (($name_by == $_SESSION['login']) ||($name_to==$_SESSION['login'])) &&($name_by !== $_SESSION['login'])){
print "<tr>"."<font color='#A6FFFF'>"."<font size=small>".$data."</font>"."<b>"."[".'<a href="#"
onclick= parent.send.document.send.to.value=\''.$name_by."' return false;>".$name_by."</a>"." >> ".$name_to."]"."</b>".
"</font>"." "."<font color=red>".$messa."</font>"."<br>"."</tr>";
}................
|
Как мне сделать чтоб сначала сортировка осуществлялась по $data(вроде надо natsort тока не выходит) ,
а потом уже получившийся порядок сортировать функцией array_reverse (новые сообщения сверху..).......?
Канешно этого может и не достаточно для понимания всего происходящего,
потому спрашивайте .... =)
спасибо за внимание. | |
|
|
|
|
|
|
|
для: method
(20.06.2005 в 09:11)
| | А какова структура массива, в котором хранится информация из файла. Правильно ли я понял, сначала необходимо отсортировать массив по времени в прямом порядке, а потом получить его копию или отсортировать этот же массив в обратном? | |
|
|
|
|
|
|
|
для: cheops
(20.06.2005 в 10:10)
| | cheops ты как всегда прав =), но какую структуру массива тебе именно описать,
или код какого скрипта сюда выложить? | |
|
|
|
|
|
|
|
для: method
(20.06.2005 в 16:22)
| | Я имел ввиду $us_v, просто не заметил сперва, что он извлекается при помощи функции file. Поступите следующим образом: отсортируйте массив $us_v при помощи фукнции sort, а когда вам потребуется обратный массив, при помощи rsort - так как первым у вас идёт время - сортировка будет корректной.
<?php
$us_v = file($mes);
sort($us_v);
?>
|
через некоторое время
| |
|
|
|
|
|
|
|
для: cheops
(20.06.2005 в 16:31)
| | спасибо за помощь! | |
|
|
|