Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Problem z sortowaniem, Problem z sortowaniem tablic...
iker
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 7.11.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Witam

Mam problem z sortowaniem danych pobieranych w poniższy sposób:

  1. <?php
  2. $newsfile = file(&#092;"phpOffersCatalog/data/data.txt\");
  3. $count = count($newsfile)-1;
  4.  
  5. for($i = $count; $i >= 0; $i--) {
  6. $expl = explode(&#092;"||\", $newsfile[$i]);
  7. echo $expl[1].$expl[2].$expl[3].$expl[4].$expl[5].$expl[6].$expl[7].$expl[8];
  8. }
  9. ?>


Chce posortować dane z $expl[$sortById]
$sortById to liczba od 1 - 8 zależnie kto co wybrał z formularza.

Dane w pliku wyglądają tak:
Kod
1||23||polski||mercedes||100 kg||1998||m 23||10 m||1000||abcd||dębica||+ 22 % vat||../data/foto/1111518137.jpg||../data/foto/1111518138.jpg||
2||10||chiński||ford||10 kg||1995||m 20||5 m||500||efgh||pirelli||+ 15 % vat||../data/foto/1111518374.jpg||../data/foto/1111518375.jpg||
3||5||francuski||fiat||5 kg||1993||m 10||2 m||200||ijkl||flega||dogodne raty||../data/foto/1111518453.jpg||../data/foto/1111518454.jpg||


pierwsza tablica to liczba pożadkowa, reszta to dane które są zapisywane w panelu admina z formularza.

Coś nie mogę wymyslić jak to posortować. Proszę o wskazówki, kod byle co!!!


pozdrawiam
Go to the top of the page
+Quote Post
markac
post
Post #2





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 23.02.2005

Ostrzeżenie: (10%)
X----


Napisałem coś takiego: Sortowanie danych, pochodzących z pliku CSV. Powinno się przydać.
Go to the top of the page
+Quote Post
iker
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 7.11.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Dzięki wielkie ale jak posortować dane z pliku którym tablice są oddzielone ||

Próbowałem takie coś:

Kod
if(isset($sortById) && $sortById!=""){


define('COLUMN', $sortById);

function cmp ($a, $b) {
return strcmp ($a[COLUMN], $b[COLUMN]);
}

$newsfile = file("phpOffersCatalog/data/data.txt");
$count = count($newsfile)-1;
for($i = $count; $i >= 0; $i--) {
$line = explode("||", $newsfile[$i]);
$lines[] = $line;
}

usort ($lines, "cmp");

echo "<pre>";
foreach ($lines as $line) {
foreach ($line as $column)
echo $column."||";
echo "\n";
}
echo "</pre>";
  
  

}


I mniej więcej działa ale np. gdy wybiorę sortowanie 1 tablicy to zwraca mi:
10, 23, 5 a chce żeby było 23, 10, 5

pozdr.
Go to the top of the page
+Quote Post
nibytak
post
Post #4





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 24.01.2005

Ostrzeżenie: (0%)
-----


http://forum.php.pl/index.php?showtopic=28059 ?


--------------------
+++ DISCONNECTED
Go to the top of the page
+Quote Post
Wave
post
Post #5





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 13.01.2005

Ostrzeżenie: (0%)
-----


  1. <?php
  2. uksort ($lines, &#092;"cmp\");
  3. ?>

?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 06:52