• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Lista rankingowa w .csv używając PHP

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
598 wizyt
pytanie zadane 18 stycznia 2017 w PHP przez kocur1945 Początkujący (480 p.)

Dzień dobry, chcę zrobić listę rankingową do quizu.

Program powinien pobierać z sesji dane w postaci nick użytkownika i ilość punktów jaką zdobył, a następnie wyświetlić pozycję w rankingu.

Czy jest taka możliwość aby każdy pojedynczy rekord w postaci nicku użytkownika i ilości punktów był zapisywany w pliku .csv w odpowiednim miejscu według uzyskanych punktów? Czyli osoba która zdobyła mniej punktów jest zapisywana pod osobą która ma ich więcej i jednocześnie nad osobą która ma ich mniej.

Czyli powinno to działać tak:

1. pobieram dane z sesji

2. dodaje dane do pliku .csv w odpowiednim miejscu (według ilości uzyskanych punktów)

3. wyświetlam na ekranie aktualną pozycję w rankingu

oto kod do zapisywania jaki stworzyłem aktualnie: (jeszcze dane są po prostu wprowadzane w kodzie i nie ma sortowania)

<?php
$line = array
(
 "nick", 2
);

$file = fopen("ranking.csv","a");

fputcsv($file, $line, ";", ",");

fclose($file);
?> 

 

komentarz 18 stycznia 2017 przez Vento Pasjonat (17,120 p.)
Musi być CSV czy możesz skorzystać z jakiegoś innego formatu?
komentarz 18 stycznia 2017 przez kocur1945 Początkujący (480 p.)
Musi być
komentarz 19 stycznia 2017 przez xandros Nałogowiec (29,450 p.)
A takie pytanie:

Nie możesz zapisywać tego w bazie (SQL), a jak ktoś będzie chciał pobrać, to wysyła w csv?

Nawet możesz użyć zwykłego sql-query: http://stackoverflow.com/a/356605/6887311
komentarz 23 stycznia 2017 przez kocur1945 Początkujący (480 p.)

Tylko .csv moge uzyc.

$csv = array();
$file = fopen("$quiz", 'r');
while (($result = fgetcsv($file)) !== false){
	$csv[] = $result;}
arsort($csv);

Mam tego typu kod, ktory zczytuje rekordy i sortuje. Pytanie tylko jak posortowac wedlug wybranego parametru. Tak jak w poscie napisalem, jest Nick oraz Punkty. Chcialbym posortowac wedlug Punktow. Dostep do przykladowego rekordu (pierwszego) do punktow jest tutaj $csv[0][0]. Pytanie jak posortowac wedlug punktow? arsort($csv[0][0]); oczywiscie nie dziala bo to jest tylok jeden rekord. Probowalem tez tak arsort($csv[key][0]), aczkolwiek tez nie dziala.

komentarz 23 stycznia 2017 przez xandros Nałogowiec (29,450 p.)
> Tylko .csv moge uzyc.

Proszę o treść zadania, bo wygląda absurdalnie.

Do csv używałem ostatnio: http://csv.thephpleague.com/ może ułatwi zadanie
komentarz 23 stycznia 2017 przez kocur1945 Początkujący (480 p.)
Program powinien pobierać z sesji dane w postaci nick użytkownika i ilość punktów jaką zdobył, a następnie wyświetlić pozycję w rankingu.

Tak jak wyzej opisalem, sortowanie wynikow ma byc na podstawie uzyskanych punktow.

A wiec wczytuje wyniki z pliku .csv, sortuje je i wyswietlam pozycje w rankingu.

1 odpowiedź

0 głosów
odpowiedź 18 stycznia 2017 przez CzikaCarry Szeryf (75,340 p.)
Najlepiej zrobić to poprzez bazy danych, np. MySql. W bazach danych drzemie ogromny potencjał i na pewno są lepszym rozwiązaniem niż zapisywanie danych każdej osoby z rankingu w plikach .csv.
komentarz 18 stycznia 2017 przez kocur1945 Początkujący (480 p.)
Tak, ale niestety taki projekt mam do zrobienia na studiach, będę wdzięczny za każdą pomoc. :)

Podobne pytania

0 głosów
0 odpowiedzi 234 wizyt
pytanie zadane 30 stycznia 2019 w PHP przez jimi Nowicjusz (220 p.)
+1 głos
1 odpowiedź 356 wizyt
pytanie zadane 16 grudnia 2021 w C# przez disaster Bywalec (2,120 p.)
+1 głos
1 odpowiedź 702 wizyt
pytanie zadane 23 listopada 2021 w SQL, bazy danych przez KonDZIKs Bywalec (2,770 p.)

93,191 zapytań

142,206 odpowiedzi

322,041 komentarzy

62,518 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2817p. - dia-Chann
  2. 2769p. - Łukasz Piwowar
  3. 2759p. - Łukasz Eckert
  4. 2738p. - CC PL
  5. 2704p. - Tomasz Bielak
  6. 2678p. - Łukasz Siedlecki
  7. 2666p. - rucin93
  8. 2584p. - Adrian Wieprzkowicz
  9. 2536p. - Mikbac
  10. 2485p. - Marcin Putra
  11. 2418p. - Michal Drewniak
  12. 2239p. - Michał Telesz
  13. 2156p. - Anonim 3619784
  14. 1733p. - rafalszastok
  15. 1650p. - Mariusz Fornal
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...