Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Сравнение чисел... :)
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Описание: Наверное просто... ^^
taIFan
Отправлено: 13 Мая, 2005 - 16:35:17
Post Id


Newbie


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2005  

Карма 0




Судя по всему, решение оч. простое... Но после 6-ех часов поисков и раздумий я так ни к чему и не пришел.
CODE:

$query = 'select Name, cLevel, Restarts from Character order by Restarts desc';
$result = mssql_query( $query );
for($i=0;$i<mssql_num_rows($result);++$i)
{
$row = mssql_fetch_row($result);
echo $i + 1;

В БД:
Name cLevel Restarts
Alisa 200 5
Vanja 210 5

Вообщем вопрос такой: в данном примере сортировка производится средствами ORDER, но т.к. ORDER сортирует только по одному значению, соотвественно оно не устраивает. Как сделать если значение Restarts одинаковое, то сортировка происходила по cLevel?
Честно перекрутил в голове 29374 вариантов, но т.к. познание в php равняются 8-и часам упорного редактирования... Поэтому решил, что выкинув в исходнике упрощу задачу благодетелю. Заранее спасибо).
 
 Top
TvoyWeb Администратор
Отправлено: 13 Мая, 2005 - 18:40:07
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




CODE:
$query = 'select Name, cLevel, Restarts from Character order by Restarts, cLevel desc';

Просто перечисляешь поля в порядке сортировки и все.
Цитата:
но т.к. познание в php равняются 8-и часам упорного

А это уже не PHP. Это MySQL Улыбка
 
 Top
taIFan
Отправлено: 16 Мая, 2005 - 02:26:56
Post Id


Newbie


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2005  

Карма 0




TvoyWeb 10x Улыбка только не совсем так...
Предисловие:
Памятка начинающему программисту:
1) не пейте много кофе
2) если к 4-ем утра ничего не получается, лучше лечь спать
3) если с утра ничего не получилось, забросить это дело Улыбка)
После долгих раздумий, я додумался зайти, и посмотреть синтаксис команды ORDER Улыбка
И вот что получилось:
CODE:

$query = 'select Name, cLevel, Restarts from Character order by Restarts desc, cLevel desc';

Улыбка Ну как всегда все на самом деле просто...
TvoyWeb а не мог бы ты подсказать, как сделать, чтобы только первые 5 записей выводилось? Т.е. огриничить echo $i + 1; до 5 ? Улыбка
CODE:

$row = mssql_fetch_row($result);
echo $i + 1;
 
 Top
TvoyWeb Администратор
Отправлено: 16 Мая, 2005 - 03:23:30
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




taIFan пишет:
Т.е. огриничить echo $i + 1; до 5 ?

Зачем echo ? Поставь лимит в конец запроса 'LIMIT 0, 5'
taIFan пишет:
олько не совсем так...

Странно почему не работает?.
Из мана:
CODE:
mysql> SELECT name, species, birth FROM pet ORDER BY species, birth DESC;
 
 Top
taIFan
Отправлено: 16 Мая, 2005 - 04:33:40
Post Id


Newbie


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2005  

Карма 0




7.2.10. How MySQL Optimizes ORDER BY
SELECT * FROM t1 ORDER BY key_part1 DESC, key_part2 DESC;

echo для вывода Улыбка это html страница, которая выводит из БД (mssql) данные, и задача данного скрипта сортировать записи по полям restarts и clevel Улыбка и соотвественно присваивать им "места" 1-ое, 2-ое, 3-ее и т.д.
Ну этого я добился...
Limit тут наверное не подойдет, потому, что ограничение первых 5-и записей должно производится уже после сортировки Улыбка. Тем более что это не MySQL Улыбка а MSsql...
Вообщем суть в том, что после сортировки нужно первые 5 записей.. Подскажи пожалуйста как это сделать? Улыбка
 
 Top
TvoyWeb Администратор
Отправлено: 16 Мая, 2005 - 09:36:20
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




taIFan
3.3.4.4. Сортировка строк
Цитата:
Вообщем суть в том, что после сортировки нужно первые 5 записей.. Подскажи пожалуйста как это сделать?

CODE:
<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
// $input is now array("red", "green")

$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
// $input is now array("red", "yellow")

$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
// $input is now array("red", "orange")

$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
// $input is now array("red", "green",
// "blue", "black", "maroon")

$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
// $input is now array("red", "green",
// "blue", "purple", "yellow");
?>

 
 Top
taIFan
Отправлено: 16 Мая, 2005 - 13:37:37
Post Id


Newbie


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2005  

Карма 0




TvoyWeb спасибо большое тебе за внимание.. Улыбка Оч. признателен.
Но опять таки получилось все по другому )):
CODE:

for($i=0;$i<mssql_num_rows($result);++$i)
вместо mssql_num_rows($result) надо было просто поставить 5 :P

Все равно огромное спасибо!
 
 Top
TvoyWeb Администратор
Отправлено: 16 Мая, 2005 - 17:02:58
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




taIFan
Ну зачем же выдергивать из мускуда лишнюю информацию?
Это же все сидит потом в памяти серваки, то есть хоть немного но загружает память сервера.
Для этого и есть LIMIT в SELECT запросах, чтобы выбрать только определенное кол-во зрезультатов. Даже можно выбрать с N по NN номеров.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0402]     [ Gzipped ]