Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zliczanie chcianych rekordow
Forum PHP.pl > Forum > Gotowe rozwiązania
alpin
[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
alpin
po wielu godzinach jakos udalo mi sie rozwiazac ten problem ;> ale jak to zawsze bywa gdy sie rozwiaze jeden pojawia sie ten nastepny...
Bakus
Jeżeli znalazłeś rozwiązanie, to chociaż się nim pochwal... może się przydać innym... to dobry zwyczaj... winksmiley.jpg
alpin
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 ;>
kszychu
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.
alpin
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 ..
kszychu
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.