Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zliczanie chcianych rekordow
alpin
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 15.03.2004

Ostrzeżenie: (10%)
X----


[php:1:f542140e06]<?php
<?
####################### config ####
//nazwa pliku z typowaniami

$nazwa_pliku='typowania/'.date("d.m.Y").'.txt';

####################### koniec config #####

####### FUNKCJE ######
function sprawdz($typ, $data) {
$tablica2=file("wyniki.txt");
for($i=0;$i<count($tablica2);$i++){
$linia=explode(';', $tablica2[$i]);
if(trim($linia[0])=="$data") { $liczby_przed="$linia[1]"; }
}
$liczby_po=explode('-', $liczby_przed);
$var1 = array_pop( $liczby_po );
$liczby_po[] = str_replace(array("rn", "n"), "", $var1) ;

$stan="niema";
$tablica=file("wyniki.txt");
for($i=0;$i<count($tablica);$i++){
$linia=explode(';', $tablica[$i]);
if(trim($linia[0])=="$data") { $stan="jest"; }
}
if ($typ=='') {echo "<img src='baza/img0.gif'>"; } else {
if ($stan=="jest") {
if (in_array ("$typ", $liczby_po)) {
echo "<br><img src='baza/img2.gif'>";
} else {
echo "<br><img src='baza/img1.gif'>";
}
}
}
}
############# KONIEC FUNKCJI ######

?>
<table>
<tr bgcolor="#7777ee">
<td align="center"><b>Pozycja</b></td>
<td align="center"><b>Nick</b></td>
<td align="center"><b>Punkty</b></td>
<td align="center"><b>Skutecznosc</b></td>
<td align="center"><b><? $data10a=date("d.m.Y",strtotime("-9 days",time())); echo date("d.m",strtotime("-9 days",time())); ?></b></td>
<td align="center"><b><? $data9a=date("d.m.Y",strtotime("-8 days",time())); echo date("d.m",strtotime("-8 days",time())); ?></b></td>
<td align="center"><b><? $data8a=date("d.m.Y",strtotime("-7 days",time())); echo date("d.m",strtotime("-7 days",time())); ?></b></td>
<td align="center"><b><? $data7a=date("d.m.Y",strtotime("-6 days",time())); echo date("d.m",strtotime("-6 days",time())); ?></b></td>
<td align="center"><b><? $data6a=date("d.m.Y",strtotime("-5 days",time())); echo date("d.m",strtotime("-5 days",time())); ?></b></td>
<td align="center"><b><? $data5a=date("d.m.Y",strtotime("-4 days",time())); echo date("d.m",strtotime("-4 days",time())); ?></b></td>
<td align="center"><b><? $data4a=date("d.m.Y",strtotime("-3 days",time())); echo date("d.m",strtotime("-3 days",time())); ?></b></td>
<td align="center"><b><? $data3a=date("d.m.Y",strtotime("-2 days",time())); echo date("d.m",strtotime("-2 days",time())); ?></b></td>
<td align="center"><b><? $data2a=date("d.m.Y",strtotime("-1 days",time())); echo date("d.m",strtotime("-1 days",time())); ?></b></td>
<td align="center"><b><? $data1=date("dmY"); $data1a=date("d.m.Y"); echo date("d.m"); ?></b></td>
</tr>
<?

#pobieranie pliku w tablice
$tablica=file($nazwa_pliku);
#sortowanie punktow od max do min
array_multisort($tablica, SORT_DESC, SORT_NUMERIC);

# wyswietlanie
for ($i=0; $i<count($tablica); $i++) {

$a=$i % 2;
$k=$i+1;

$wers=$tablica[$i];
$kawalki=explode('|||', $wers);
$punkty=$kawalki[0];
$user=$kawalki[1];
$typ0=$kawalki[2];
$typ1=$kawalki[3];
$typ2=$kawalki[4];
$typ3=$kawalki[5];
$typ4=$kawalki[6];
$typ5=$kawalki[7];
$typ6=$kawalki[8];
$typ7=$kawalki[9];
$typ8=$kawalki[10];
$typ9=$kawalki[11];
$typ10=$kawalki[12];

if ($a==0)
echo "<tr bgcolor=#bbeeaa align=center>";
else
echo "<tr bgcolor="#aabb88" align="center">";
echo " <td align=center>$k</td>
<td align=center>$user</td>
<td align=center>$punkty</td>
<td align=center>Skutecznosc</td>
<td align=center>$typ9"; sprawdz ($typ9, $data10a); echo"</td>
<td align=center>$typ8"; sprawdz ($typ8, $data9a); echo"</td>
<td align=center>$typ7"; sprawdz ($typ7, $data8a); echo"</td>
<td align=center>$typ6"; sprawdz ($typ6, $data7a); echo"</td>
<td align=center>$typ5"; sprawdz ($typ5, $data6a); echo"</td>
<td align=center>$typ4"; sprawdz ($typ4, $data5a); echo"</td>
<td align=center>$typ3"; sprawdz ($typ3, $data4a); echo"</td>
<td align=center>$typ2"; sprawdz ($typ2, $data3a); echo"</td>
<td align=center>$typ1"; sprawdz ($typ1, $data2a); echo"</td>
<td align=center>$typ0"; sprawdz ($typ0, $data1a); echo"</td>
</tr>";

}

?>
</table>
?>[/php:1:f542140e06]

plik wyniki.txt wyglada tak :
Kod
06.06.2004;01-05-08-12-13-16-17-22-31-39-41-44-55-63-64-65-68-70-71-78

05.06.2004;05-10-11-20-23-26-27-30-33-35-40-46-56-63-64-67-71-75-77-79

04.06.2004;04-05-09-10-21-22-28-29-31-34-41-47-52-58-68-71-72-76-79-80

03.06.2004;05-07-11-15-17-18-19-20-24-26-33-39-49-50-52-56-70-71-76-80



itd...



plik 06.06.2004 // plik z typowaniami



43|||alpi1|||5|||1|||80|||76|||23|||54|||31|||35|||32|||21|||

12|||alpi2|||2|||1|||80|||76|||23|||54|||31|||35|||32|||21|||

13|||alpi3|||45|||1|||80|||76|||23|||54|||31|||35|||32|||21|||

12|||alpi4|||44|||1|||80|||76|||23|||54|||31|||35|||32|||21|||

6|||alpi5|||74|||1|||80|||76|||23|||54|||31|||35|||32|||21|||

43|||alpi6|||43|||1|||80|||76|||23|||54|||31|||35|||32|||21|||

33|||alpi7|||23|||1|||80|||76|||23|||54|||31|||35|||32|||21|||

25|||alpi8|||78|||1|||80|||76|||23|||54|||31|||35|||32|||21|||

28|||alpi9|||22|||1|||80|||76|||23|||54|||31|||35|||32|||21|||

5|||alpi10|||36|||1|||80|||76|||23|||54|||31|||35|||32|||21|||


w rezultacie wyglada to tak http://hajnowka.net/~alpin/aaa.php ,
moj problem: jak zsumowac ilosc trafnie wytopowanych liczb w jednym wersie/uzytkownika , chodzi mi o to zeby w rubryce skutecznosc wyswietlic ilosc_trafionych/10 (10 bo akurat z tylu dni sie wyswietla) , z gory dziekuje za kazde propozycje
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
alpin
post
Post #2





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 15.03.2004

Ostrzeżenie: (10%)
X----


po wielu godzinach jakos udalo mi sie rozwiazac ten problem ;> ale jak to zawsze bywa gdy sie rozwiaze jeden pojawia sie ten nastepny...
Go to the top of the page
+Quote Post
Bakus
post
Post #3


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


Jeżeli znalazłeś rozwiązanie, to chociaż się nim pochwal... może się przydać innym... to dobry zwyczaj... winksmiley.jpg


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
alpin
post
Post #4





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 15.03.2004

Ostrzeżenie: (10%)
X----


niby znalazlem ... ale ogolnie to nie dziala jeszcze tak jakbym chcial ... ale akurat ten problem zliczania jakos udalo mi sie zrobic a zrobilem to tak:

[php:1:3ded32ac99]<?php
function skutecznosc($user) {
$elo="wyniki.txt";
$tablica=file($elo);
$wers= explode(';', $tablica[0]);
$nazwa_pl=$wers[0];
$plik="typowania/$nazwa_pl.txt";
$tablica2=file($plik);
for($i=0;$i<count($tablica2);$i++){
$linia=explode('|**|', $tablica2[$i]);
if(trim($linia[1])=="$user") { $liczby_przed="$linia[2]"; }
}
$liczby_po=explode('|||', $liczby_przed);
$var1 = array_pop( $liczby_po );
$liczby_po[] = str_replace(array("rn", "n"), "", $var1) ;

$typ_dzien1=$liczby_po[0];
$typ_dzien2=$liczby_po[1];
$typ_dzien3=$liczby_po[2];
$typ_dzien4=$liczby_po[3];
$typ_dzien5=$liczby_po[4];
$typ_dzien6=$liczby_po[5];
$typ_dzien7=$liczby_po[6];
$typ_dzien8=$liczby_po[7];
$typ_dzien9=$liczby_po[8];
$typ_dzien10=$liczby_po[9];

$data1=date("d.m.Y");
$data2=date("d.m.Y",strtotime("-1 days",time()));
$data3=date("d.m.Y",strtotime("-2 days",time()));
$data4=date("d.m.Y",strtotime("-3 days",time()));
$data5=date("d.m.Y",strtotime("-4 days",time()));
$data6=date("d.m.Y",strtotime("-5 days",time()));
$data7=date("d.m.Y",strtotime("-6 days",time()));
$data8=date("d.m.Y",strtotime("-7 days",time()));
$data9=date("d.m.Y",strtotime("-8 days",time()));
$data10=date("d.m.Y",strtotime("-9 days",time()));

$ile=0;
$naile=0;

##1##
$tablica2=file("wyniki.txt");
for($i=0;$i<count($tablica2);$i++){
$linia=explode(';', $tablica2[$i]);
if(trim($linia[0])==$data1) { $liczby_przed="$linia[1]"; }
}
$liczby_po=explode('-', $liczby_przed);
$var1 = array_pop( $liczby_po );
$liczby_po[] = str_replace(array("rn", "n"), "", $var1) ;
if ($typ_dzien1!='') { if (in_array ("$typ_dzien1", $liczby_po)){$ile++;}else{$naile++;}}
##2##
$tablica2=file("wyniki.txt");
for($i=0;$i<count($tablica2);$i++){
$linia=explode(';', $tablica2[$i]);
if(trim($linia[0])==$data2) { $liczby_przed="$linia[1]"; }
}
$liczby_po=explode('-', $liczby_przed);
$var1 = array_pop( $liczby_po );
$liczby_po[] = str_replace(array("rn", "n"), "", $var1) ;
if ($typ_dzien2!='') { if (in_array ("$typ_dzien2", $liczby_po)){$ile++;}else{$naile++;}}
##3##
$tablica2=file("wyniki.txt");
for($i=0;$i<count($tablica2);$i++){
$linia=explode(';', $tablica2[$i]);
if(trim($linia[0])==$data3) { $liczby_przed="$linia[1]"; }
}
$liczby_po=explode('-', $liczby_przed);
$var1 = array_pop( $liczby_po );
$liczby_po[] = str_replace(array("rn", "n"), "", $var1) ;
if ($typ_dzien3!='') { if (in_array ("$typ_dzien3", $liczby_po)){$ile++;}else{$naile++;}}
##4##
$tablica2=file("wyniki.txt");
for($i=0;$i<count($tablica2);$i++){
$linia=explode(';', $tablica2[$i]);
if(trim($linia[0])==$data4) { $liczby_przed="$linia[1]"; }
}
$liczby_po=explode('-', $liczby_przed);
$var1 = array_pop( $liczby_po );
$liczby_po[] = str_replace(array("rn", "n"), "", $var1) ;
if ($typ_dzien4!='') { if (in_array ("$typ_dzien4", $liczby_po)){$ile++;}else{$naile++;}}
##5##
$tablica2=file("wyniki.txt");
for($i=0;$i<count($tablica2);$i++){
$linia=explode(';', $tablica2[$i]);
if(trim($linia[0])==$data5) { $liczby_przed="$linia[1]"; }
}
$liczby_po=explode('-', $liczby_przed);
$var1 = array_pop( $liczby_po );
$liczby_po[] = str_replace(array("rn", "n"), "", $var1) ;
if ($typ_dzien5!='') { if (in_array ("$typ_dzien5", $liczby_po)){$ile++;}else{$naile++;}}
##6##
$tablica2=file("wyniki.txt");
for($i=0;$i<count($tablica2);$i++){
$linia=explode(';', $tablica2[$i]);
if(trim($linia[0])==$data6) { $liczby_przed="$linia[1]"; }
}
$liczby_po=explode('-', $liczby_przed);
$var1 = array_pop( $liczby_po );
$liczby_po[] = str_replace(array("rn", "n"), "", $var1) ;
if ($typ_dzien6!='') { if (in_array ("$typ_dzien6", $liczby_po)){$ile++;}else{$naile++;}}
##7##
$tablica2=file("wyniki.txt");
for($i=0;$i<count($tablica2);$i++){
$linia=explode(';', $tablica2[$i]);
if(trim($linia[0])==$data7) { $liczby_przed="$linia[1]"; }
}
$liczby_po=explode('-', $liczby_przed);
$var1 = array_pop( $liczby_po );
$liczby_po[] = str_replace(array("rn", "n"), "", $var1) ;
if ($typ_dzien7!='') { if (in_array ("$typ_dzien7", $liczby_po)){$ile++;}else{$naile++;}}
##8##
$tablica2=file("wyniki.txt");
for($i=0;$i<count($tablica2);$i++){
$linia=explode(';', $tablica2[$i]);
if(trim($linia[0])==$data8) { $liczby_przed="$linia[1]"; }
}
$liczby_po=explode('-', $liczby_przed);
$var1 = array_pop( $liczby_po );
$liczby_po[] = str_replace(array("rn", "n"), "", $var1) ;
if ($typ_dzien8!='') { if (in_array ("$typ_dzien8", $liczby_po)){$ile++;}else{$naile++;}}
##9##
$tablica2=file("wyniki.txt");
for($i=0;$i<count($tablica2);$i++){
$linia=explode(';', $tablica2[$i]);
if(trim($linia[0])==$data9) { $liczby_przed="$linia[1]"; }
}
$liczby_po=explode('-', $liczby_przed);
$var1 = array_pop( $liczby_po );
$liczby_po[] = str_replace(array("rn", "n"), "", $var1) ;
if ($typ_dzien9!='') { if (in_array ("$typ_dzien9", $liczby_po)){$ile++;}else{$naile++;}}
##10##
$tablica2=file("wyniki.txt");
for($i=0;$i<count($tablica2);$i++){
$linia=explode(';', $tablica2[$i]);
if(trim($linia[0])==$data10) { $liczby_przed="$linia[1]"; }
}
$liczby_po=explode('-', $liczby_przed);
$var1 = array_pop( $liczby_po );
$liczby_po[] = str_replace(array("rn", "n"), "", $var1) ;
if ($typ_dzien10!='') { if (in_array ("$typ_dzien10", $liczby_po)){$ile++;}else{$naile++;}}

// ile <= trafione, naile<= nie tradione, nie typowanie nie uwzglednione
$wszystkie=$ile+$naile;
echo "$ile/$wszystkie";
}

?>[/php:1:3ded32ac99]

probowalem zrobic te 10 powtarzajacych sie czesci w petli ale ni jak nie chcialo mi w tym miejscu "if(trim($linia[0])==$data9)" zamiast np 9 wstawiac $k ktore by przybieralo wartosc od 1 do 10, no nic, tylko kod dluzszy wyszedl ;>
Go to the top of the page
+Quote Post
kszychu
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Oto fragment:
[php:1:9a65436007]<?php
##0 - 10##
for( $j = 0; $j <= 10; $j++) {
$tablica2=file("wyniki.txt");
for($i=0;$i<count($tablica2);$i++){
$linia=explode(';', $tablica2[$i]);
if(trim($linia[0])==${"data".$j}) { $liczby_przed="$linia[1]"; }

}
$liczby_po=explode('-', $liczby_przed);
$var1 = array_pop( $liczby_po );
$liczby_po[] = str_replace(array("rn", "n"), "", $var1) ;
if (${typ_dzien".$j} !='') { if (in_array ("${"typ_dzien".$j}",
$liczby_po)){$ile++;}else{$naile++;}}
} // end for
?>[/php:1:9a65436007]

Mam nadzieję, że niczego nie pominąłem.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
alpin
post
Post #6





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 15.03.2004

Ostrzeżenie: (10%)
X----


Wow, hm , a siedzialem sporo czasu i podobnie to probowalem rozwiazac poza jednym zapisem
P.S. jednak cos pominales winksmiley.jpg zgubiles dwa "

bylo:
[php:1:087a66b3bd]<?php
if (${typ_dzien".$j} !='') { if (in_array ("${"typ_dzien".$j}",

?>[/php:1:087a66b3bd]
a powinno byc
[php:1:087a66b3bd]<?php
if (${"typ_dzien".$j} !='') { if (in_array ("${"typ_dzien".$j}", $liczby_po)){$ile++;}else{$naile++;}}
?>[/php:1:087a66b3bd]
W kazdym badz razie DZIEKUJE!

prawde mowiac nie rozumiem (czytac: nie wiem) dlaczego uzyles nawiasow klamrowych w np. " if (${"typ_dzien".$j} !='') " ja probowalem to tak:" if ($typ_dzien$j} !='') " i tak : "if ("'.$typ_dzien.''.$j.'"} !='') " i na wiele jeszcze innych sposobow ..
Go to the top of the page
+Quote Post
kszychu
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Cytat
prawde mowiac nie rozumiem (czytac: nie wiem) dlaczego uzyles nawiasow klamrowych w np.  " if (${"typ_dzien".$j} !='') "

http://pl.php.net/manual/pl/language.varia...es.variable.php
Cytat
ja probowalem to tak:" if ($typ_dzien$j} !='') " i tak : "if ("'.$typ_dzien.''.$j.'"} !='') " i na wiele jeszcze innych sposobow ..


... ale Tobie nie zadziałało a mi owszem :-P


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
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: 22.08.2025 - 10:59