Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem z sortowaniem
Forum PHP.pl > Forum > Przedszkole
iker
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
markac
Napisałem coś takiego: Sortowanie danych, pochodzących z pliku CSV. Powinno się przydać.
iker
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.
nibytak
http://forum.php.pl/index.php?showtopic=28059 ?
Wave
  1. <?php
  2. uksort ($lines, &#092;"cmp\");
  3. ?>

?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.