Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Pomoc Sortowanie PHP -Dla was kałuża, dla mnie ocean nie do przebycia czyli PHP :), Sortowanie według kolumn, wczytanie z pliku CSV, PHP pomoc
khkh
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 31.10.2010

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


Witam, rejestracji na forum dokonałem dziś ponieważ uznałem że mój problem (dla was pewnie trywialny) dla mnie okazał się zbyt skomplikowany smile.gif wiem że wiele osób uzna iż idę na łatwiznę, szukając rozwiązania tutaj a nie próbując samemu się z tym uporać, pewnie te osoby mają sporo racji, jednak liczę że znajdę tu pomocną dłoń smile.gif

problem przedstawia się następująco, z pliku csv wczytujemy dane do tablicy która później jest wyświetlana w formie tabelki, na górze mamy klikalne nagłówki dla odpowiednich kolumny, po ich kliknięciu dane w tabeli powinny być sortowane... i tu właśnie pojawił się mój problem, wczytanie jest, tabelka także i klikalne nagłówki też ale sortowania dodać już się mi nie udało czy ktoś może spojrzeć na ten fragment kodu i poradzić mi co i jak? poradzić jak laikowi, lub jak kto woli, dać rybę a nie wędkę smile.gif (rozwiązanie)

  1. <?php
  2.  
  3. echo '<b>Nacisnij nagłówek by dokonać sortowania<b/> ';
  4.  
  5. $fh = fopen('exel.csv', 'r');
  6. if($fh !== false)
  7. { $tablica = array();
  8. while (!feof($fh)){
  9. if(!$line = fgetcsv($fh,8000,';'," "))
  10. continue;
  11. else $tablica[]=$line;
  12. }
  13. $nagl=$tablica[0];
  14. unset ($tablica[0]);
  15. }
  16.  
  17. $nagl=array('Imie','Wiek','Wzrost');
  18.  
  19. function order_2d ($a,$b)
  20. {
  21. if ($a[2]==$b[2])
  22. return 0;
  23. return ($a[2]<$b[2])?-1:1;
  24. }
  25. //usrot('$tablica', 'order_2d'); sortowanie
  26.  
  27. echo '<table>';
  28. echo '<tr>';
  29.  
  30. foreach ($nagl as $n)
  31. {
  32. echo '<th>';
  33. echo'<form action="" method="get">';
  34. echo' <input type="hidden" name="sort" value="2" >';
  35. echo' <input type="submit" value="'.$n.'">';
  36. echo' </form>';
  37. echo '</th>';
  38. }
  39. echo '</tr>';
  40.  
  41. foreach ($tablica as $wiersz)
  42. {
  43. echo '<tr>';
  44. foreach ($wiersz as $d)
  45. echo '<td>'.$d.'</td>';
  46. echo '</tr>';
  47. };
  48. echo '</table>';
  49.  
  50. ?>
Go to the top of the page
+Quote Post
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


przesyłaj parametry i Twoją tablicę potraktuj jakąś funkcją do sortowania tablic na ich podstawie
sort
Po lewej masz menu ze spisem innych funkcji, aby sortować na różne sposoby
# uasort
# uksort
# usort
# rsort
# natcasesort
# natsort
# krsort
# ksort
# arsort
# asort

Ten post edytował my salsa 31.10.2010, 16:58:15


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
khkh
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 31.10.2010

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


no ale gdzie i w jakiej formie wcisnąć to w kodzie by posortowało

np tak ?
  1. echo' <input type="submit" value="'.$n.'" onclick="usrot($tablica, order_2d);">';


bo gdy ta linia (usrot($tablica, order_2d)) występuje w kodzie przed wypisaniem danych do tej tabeli to wtedy są one posortowanie i możliwe że kliknięcie sortuje te dane ale nie ma wczytania ich na nowo posortowanych. Nie wiem jak bardziej wyoślić moją głupotę tongue.gif
Go to the top of the page
+Quote Post
Daimos
post
Post #4





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


Po pierwsze, to php != javascript winksmiley.jpg nie możesz wstawiać funkcji php jak js, podstawy musisz poznać, a nie robić od razu jakieś skrypty

Musisz zrobić przeładowanie strony przy sortowaniu (chyba że chcesz wszystko załatwić js, wtedy musisz przekazać dane do tablicy js i ją sortować)
I przy takim przeładowaniu, sortujesz sobie tablicę zaraz po wygenerowaniu wedle podanego parametru


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
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: 21.08.2025 - 07:59