• 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

Object Storage Arubacloud
0 głosów
327 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 201 wizyt
pytanie zadane 30 stycznia 2019 w PHP przez jimi Nowicjusz (220 p.)
+1 głos
1 odpowiedź 130 wizyt
pytanie zadane 16 grudnia 2021 w C# przez disaster Bywalec (2,120 p.)
+1 głos
1 odpowiedź 479 wizyt
pytanie zadane 23 listopada 2021 w SQL, bazy danych przez KonDZIKs Bywalec (2,770 p.)

92,555 zapytań

141,402 odpowiedzi

319,539 komentarzy

61,938 pasjonatów

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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...