Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Statystyka Znaków Zodiaku, zapraszam
bartekmedon
post 12.10.2007, 22:41:47
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 10.07.2007
Skąd: Kozy

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


Mami takie zadanko :

Napisać stronę, która na podstawie pliku tekstowego CSV o formacie nazwisko,data_urodzenia wyświetli statystykę występowania znaków zodiaku

Generalnie nic trudnego ale zastanawiam się nad jakimś szybkim i prostym rozwiązaniem. Zrobiłem to ale kod jest dość "skomplikowany" , po prostu może ktoś ma pomysł na zrobienie tego króciutko, łatwo i przyjemnie bo sam jestem ciekawe innych metod na to zadanie niż moja ( nie pokazuje jej teraz bo nie piszę ze swojego komputera ).

Jestem ciekawe sugestii pozdrawiam

P.S. Aha w pliku data przyjąłem, że jest w formiecie : YYYY-MM-DD .
Go to the top of the page
+Quote Post
bełdzio
post 13.10.2007, 10:44:39
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

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


wyciągasz date urodzenia a konkretnie dzień i miesiąc i cała filozofia się kończy smile.gif


--------------------
Go to the top of the page
+Quote Post
mike
post 17.10.2007, 19:23:03
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


1. Zadań domowych nie odrabiamy.
2. Sprytnie, ale nic nie dostaniesz dopóki nie pokażesz że choć trochę się postarałeś, będziesz u siebie to prześlesz mi swoje rozwiązanie żebym wiedział ze nie oszukujesz. Wtedy otworzę wątek. Do tego czasu zamykam.

------------------
Otwieram, autor dosłał swoje rozwiązanie:
http://soundpage.info/php_lab/lab3-2.php
Go to the top of the page
+Quote Post
bartekmedon
post 17.10.2007, 20:57:13
Post #4





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 10.07.2007
Skąd: Kozy

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


Dziękuje za odblokowanie jestem ciekaw innych sposobów rozwiązania pozdrawiam
Go to the top of the page
+Quote Post
Darti
post 18.10.2007, 01:49:10
Post #5





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


podszedłem do tego tak:
  1. <?php
  2. $znaki = array(
  3. 'Koziorożec' => '20.01',
  4. 'Wodnik' => '18.02',
  5. 'Ryby' => '20.03',
  6. 'Baran' => '20.04',
  7. 'Byk' => '21.05',
  8. 'Bliźnięta' => '21.06',
  9. 'Rak' => '22.07',
  10. 'Lew' => '23.08',
  11. 'Panna' => '22.09',
  12. 'Waga' => '23.10',
  13. 'Skorpion' => '22.11',
  14. 'Strzelec' => '21.12',
  15. '13' => '31.12'
  16. );
  17.  
  18. $handle = fopen("plik.csv", "r");
  19. while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
  20. $data_urodzenia = explode('-',$data[1]);
  21. foreach ($znaki as $znak => $data){
  22. $dzien = explode('.',$data);
  23. if(mktime(0,0,0,$data_urodzenia[1],$data_urodzenia[2]) <= mktime(0,0,0,$dzien[1],$dzien[0])){
  24. $znak == 13 ? $statystyka['Koziorożec']++ : $statystyka[$znak]++;
  25. break;
  26. }
  27. }
  28. }
  29. fclose($handle);
  30.  
  31. echo '<table border=1><tr><th>Znak</th><th>Ilość wystąpień</th>';
  32. arsort($statystyka);
  33. foreach ($statystyka as $key => $value){
  34. echo "<tr><td>{$key}</td><td>{$value}</td></tr>";
  35. }
  36. echo '</table>'
  37. ?>


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
bartekmedon
post 18.10.2007, 06:46:43
Post #6





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 10.07.2007
Skąd: Kozy

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


Darti - super bardzo dobre rozwiązanie, sam myślałem nad wykorzystaniem funkcji mktime ale coś mi nie chciało działać poprawnie więc zrobiłem jak zrobiłem.
Dzięki serdeczne za odpowiedź pozdrawiam
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 Wersja Lo-Fi Aktualny czas: 24.06.2025 - 13:17