Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка в текстовом файле, Сортировка в текстовом файле 
:(
    Опции темы
Konnor
Дата 26.5.2005, 16:25 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Нашел такой скрипт
Он работает только есть проблема!
Сортировка идет по цене

Код

<?     $base_sort = "base_sort.dat"; 
function priceCmp ( $a, $b ){   
if ( $a[price] == $b[price] ) return 0; 
if ( $a[price] > $b[price] ) return -1; return 1;}   
echo" <table align=center width=400>";   
if ($sort == price) {   
$general = file($base_sort);   
for ( $i = 0; $i < count ($general); $i++) {    
list ($name,$a,$price) = explode("<>", $general[$i]); 
$products[$i] = array( price => $price, name => "$name<>$a"); 
}    
$fp = fopen ($base_sort, "w");   
usort( $products, priceCmp );   
foreach ( $products as $val ) fputs ($fp, "$val[name]<>$val[price]");    
fclose ($fp);    
}    
$general = file ($base_sort);   
for ( $i = 0; $i < count ($general); $i++) {    
list ($name,$a,$price) = explode("<>", $general[$i]);   
echo"<tr>   
<td align=center> $name</td>    
<td align=center> $a</td> 
<td align=center> $price</td>   </tr>";   
}    
echo"</table><br>    
<table align=center width=400>    
<tr>   <td align=center>&nbsp;</td>    
<td align=center><a href=$PHP_SELF?act=sort&sort=price>сортировать по полю: Цена</a></td>    
</tr>   </table>";   ?> 


Файл base_sort.dat
Арбуз<>круглый<>260 y.e.
Финик<>мягкий<>95 y.e.
Груша<>сладкая<>355 y.e.
Яблоко<>зеленое<>20 y.e.

Сортирует так
Финик<>мягкий<>95 y.e.
Груша<>сладкая<>355 y.e.
Арбуз<>круглый<>260 y.e.
Яблоко<>зеленое<>20 y.e.

Мне нужно что бы сортировало по цене в сторону возрастания!
то есть
на выходе было

Груша<>сладкая<>355 y.e.
Арбуз<>круглый<>260 y.e.
Финик<>мягкий<>95 y.e.
Яблоко<>зеленое<>20 y.e.

Так что бы цены сортировались по возрастанию!

Как это решить подскажите!

Это сообщение отредактировал(а) Opr - 26.5.2005, 17:37
  Вверх
Mal Hack
Дата 26.5.2005, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Есть таблица названий (HDD, M\B и т.д.)
http://php.net/vsort
http://php.net/array_multisort

PM ICQ   Вверх
PARROT
Дата 26.5.2005, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Konnor, хорошо бы зарегистрироваться.
Потом свой код лучше хранить тут:
Код

тут код

Как этого добиться?
Нужно всего лишь, до добавления кода нажать сверху кнопочку Код и между тегами запостить свой код. smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Konnor
Дата 26.5.2005, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 26.5.2005

Репутация: нет
Всего: нет



Я понял, спасибо за ответы!

Но если кому нибудь не сложно обьясните как сделать!

Что бы цены сравнивались как числа, а не строки?


PM MAIL   Вверх
Mal Hack
Дата 26.5.2005, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Konnor @ 26.5.2005, 18:04)
Что бы цены сравнивались как числа, а не строки?

Преобразовывай.
К примеру. $a = (int) $a;
PM ICQ   Вверх
Konnor
Дата 27.5.2005, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 26.5.2005

Репутация: нет
Всего: нет



Цитата(Mal @ 26.5.2005, 16:30)
Есть таблица названий (HDD, M\B и т.д.)
http://php.net/vsort
http://php.net/array_multisort

Спасибо сделал с помощью array_multisort.
Я еще учусь!
Но всеравно большое спасибо!

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0501 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.