Вывод результатов

codsteep

Новичок
Вывод результатов

Нужно взять результаты из табл. и вывести их в обратном порядке.Пробовал так но не получилось. Где м.б. ошибка?
PHP:
$result =mysql_query("SELECT * FROM messages WHERE id_from='".$id."' LIMIT $start,$rows");

for($i=mysql_num_rows($result); $i<0; $i--){
$msgn = mysql_result($result, $i, "num");
$stati = mysql_result($result, $i, "stat");
$msg = mysql_result($result, $i, "msg_text");
$data = mysql_result($result, $i, "msg_time");
$mtime = getdate($data);
cordat($data);
$msg=nl2br($msg);
 

codsteep

Новичок
Ага... спасибо. вопрос ещё в догонку который из вариантов бут быстрее работать вышепреведённый или такой
PHP:
$result = mysql_query("SELECT * FROM messages WHERE id_from='".$id."' LIMIT $start,$rows");
while ($row = mysql_fetch_array($result)){

$msgn = $row["num"];
$stati = $row["stat"];
$msg = $row["msg_text"];
$data = $row["msg_time"];
$mtime = getdate($data);
cordat($data);
$msg=nl2br($msg);
 

SiMM

Новичок
Автор оригинала: admin
order by поле по которому нужно сортировать... DESC
Не всегда подходит - заметил, что если значения полей сортировки одинаковы - DESC не изменит их порядка на обратный.
 

ziba

Guest
Автор оригинала: SiMM
Не всегда подходит - заметил, что если значения полей сортировки одинаковы - DESC не изменит их порядка на обратный.
Удивительно, не так ли :)

Если есть набор значений

id | name
1 | John
1 | Vasiliy
1 | Jack

ORDER BY id не даст никакого разумного результата, а вот
ORDER BY id DESC, name DESC - даст разумный результат.
 

Фанат

oncle terrible
Команда форума
SiMM
ты сам-то понял, что сказал?

codsteep
второй вариант быстрее и правильнее.
а чтобы не расписывать в столбик, можно написать
[m]extract[/m]($row);
 

SiMM

Новичок
Фанат, если ты не понял - поясняю:
id name rate
1 Вася 0
2 Петя 0
Если делать сортировку по rate, то порядок будет одинаков и независим от наличия или отсутствия DESC. Поскольку вопрос звучал именно как "вывести в обратном порядке", то он мог подразумевать и такую трактовку.
 

Demiurg

Guest
SiMM
у тебя есть 15 одинаковых шариков. тебе попросили отсортировать их по размеру. В какойм порядке они идти будут ?
 

SiMM

Новичок
Demiurg, я прекрасно понимаю поведение MySQL в этом случае и не предъявляю к нему никаких претензий, обращаю ваше внимание ещё раз на то, что фраза звучала как "вывести в обратном порядке".
PS: пример не удачен - "шарики" различаются полями id и name.
 

Demiurg

Guest
если нужно еще сортировать по шв, то это надо явно указывать в запросе.
 

SiMM

Новичок
Demiurg, а если не надо? Надо просто получить порядок, обратный обычному запросу (даже если сортировки нет вообще). Я пока на такую возможность MySQL не нарвался.
 

tony2001

TeaM PHPClub
SiMM
если бы, да кабы.
в таблице нет порядка. таблица - это куча данных с каким-то порядком.
то, что тебе нужен порядок, обратный случайному, - это значит, что ты чего-то не понял.
 

SiMM

Новичок
tony2001, однако один и тот же запрос не возвращает данные в случайном порядке ;)
 

Demiurg

Guest
SiMM
а кто сказал, что должен ?
а mysql не встроен телепатический модуль. он делает в точности то, что его просят.
 

SiMM

Новичок
Demiurg, должен что? Возвращать данные в случайном (неслучайном) порядке? (в меня тоже не встроен телепатический модуль ;) ).
Хорошо, давайте так - как бы вы решили поставленную задачу (в идеале - один запрос) - выдать данные в порядке, обратном "обычному" (перевернуть полученные данные при помощи php труда не составит, а можно ли при помощи MySQL'а добиться того же результата?)
PS: просто спортивный интерес - только не надо говорить, что "мне это не нужно" и "меня это волновать не должно" - как известно, благодаря примерам можно лучше разобраться с механизмами работы.
PPS: чтобы не запинали ногами, честно признаюсь, что я всего лишь новичок (или даже чайник ;) ).
 

Demiurg

Guest
SiMM
нет "обычного порядка", завтра ты можешь вставить запись и порядок изменииться. Это понятно ?
 

SiMM

Новичок
Demiurg, рассматривайте поставленный вопрос применительно к базе, содержимое которой фиксированно и не меняется никогода.
 

tony2001

TeaM PHPClub
SiMM
если тебя интересует чистая теория - обращайся к Дейту.
если тебя интересует практика - читай мануал.
твои вопросы "а что будет, если взять сферического коня в вакууме и отсортировать в обратном порядке?" смысла не несут.
нет порядка в таблице.
тот "технический" порядок, который ты видишь - не является стабильным и может меняться по усмотрению самой СУБД.
соотв-но, нет такого порядка и нет обратного порядка для него.
 

Demiurg

Guest
> содержимое которой фиксированно
читай по губам:
НЕ ФИК-СИ-РОВАН-НО ОНО
 
Сверху