Skripta za nogometno ligo
 
Gogy 22. okt 2012 08:25:21 Pridružen od:
17. mar 2007
2491 objav
2064 252 12
#11

Vmesna tabela bo prišla zelo prav, ker je ponavadi treba vedet začetno postavo in seznam igralcev. na tekmi, da se ne bo zgodilo da je dla gol igralec, ki ga na tekmi sploh ni bilo :)


všeč(1) ni všeč(0) spam(0)
 
klodovik 22. okt 2012 10:12:54 Pridružen od:
18. mar 2010
221 objav
104 14 2
#12

Aha, torej vmesna tabela ekipa_igralec se mi zdi še najboljša ideja. Ne vem pa točno kaj si mislil s tem, da shranim začetek in konec?


všeč(0) ni všeč(0) spam(0)
 
schtr4jh 22. okt 2012 11:31:19 Pridružen od:
24. nov 2008
402 objav
322 33 4
#13

Kot začetek in konec shraniš začetek igranja za ekipo in konec igranja za ekipo. Tako točno veš, za katero ekipo je igral določen igralec ob določenem času. Enako pri lige_ekipe veš od kdaj do kdaj je določena ekipa bila v določeni ligi.



Poglej si malo načrtovanje podatkovne baze, ER modele in podobne stvari.


všeč(1) ni všeč(0) spam(0)
 
klodovik 11. nov 2012 18:01:47 Pridružen od:
18. mar 2010
221 objav
104 14 2
#14

Sem se odločil za poenostavljeno varianto... Sedaj pa imam eno težavo..Na strani "Strelci" bi rad v tabelo izpisal vse strelce; rank, ime in število golov. Ime in število golov ni problem, prav tako razvrstitev od najvišjega do najnižjega. Zanima me kako v tabelo dodati "rank" številke, tako da bo tisti, ki ima največ golov imel 1, drugi 2 itd. ?


$result = mysql_query("SELECT * FROM igralec ORDER BY goli DESC");
echo "<table class='altrowstable' id='alternatecolor'>
<tr>
<th>Mesto</th>
<th>Ime igralca</th>
<th>Število golov</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>??rank??</td>";
echo "<td>" . $row['ime'] . "</td>";
echo "<td>" . $row['goli'] . "</td>";
echo "</tr>";
}
echo "</table>";
všeč(0) ni všeč(0) spam(0)
 
Gogy 11. nov 2012 18:14:08 Pridružen od:
17. mar 2007
2491 objav
2064 252 12
#15
$i=0;

while($row = mysql_fetch_array($result))
{
$i = $i + 1;
echo "<tr>";
echo "<td>$i.".)"</td>";
echo "<td>" . $row['ime'] . "</td>";
echo "<td>" . $row['goli'] . "</td>";
echo "</tr>";
}
echo "</table>";
všeč(1) ni všeč(0) spam(0)
 
Gogy 11. nov 2012 18:22:18 Pridružen od:
17. mar 2007
2491 objav
2064 252 12
#16

Edino razmisli kako boš prikazal dva ali pa tri igralce z enakim številom golov :) ko si delijo isto mesto. Potem boš moral preverit število golov prejšnjega in primerjat z zdajšnjim in povečat mesto, vendar ga ne izpisat ali pa izpisat enako kot je bilo prejšnje mesto.


všeč(1) ni všeč(0) spam(0)
 
Mešetar 11. nov 2012 18:55:27 Pridružen od:
24. nov 2010
1543 objav
1945 962 114
#17

tak kot je gogy svetoval...


$i=1; $mesto=1;
$goli= -1; //vrednost, ki ziher ne obstaja
while($row = mysql_fetch_array($result)){

//ce je stevilo golov predhodnika isto, potem ne spremeni mesta
if($row["goli"] != $goli){
$goli = $row["goli"];
//ce pa ni isto, pa je novo mesto
$mesto = $i;
}
echo "<tr>";
echo "<td>$mesto.".)"</td>";
echo "<td>" . $row['ime'] . "</td>";
echo "<td>" . $row['goli'] . "</td>";
echo "</tr>";
$i++;
}
echo "</table>";

nekaj takega bi moglo delat.. netestirano


všeč(0) ni všeč(0) spam(0)
 
Gogy 11. nov 2012 19:07:55 Pridružen od:
17. mar 2007
2491 objav
2064 252 12
#18

Mešetar, po mojem tale koda ne bi delala prav, če bi imeli trije ali več igralcev enako število golov :) ker v vsakem primeru na koncu poveča i.



To bi delalo prav samo če bi največ dva imela enako število golov.


všeč(0) ni všeč(0) spam(0)
 
Mešetar 11. nov 2012 19:14:21 Pridružen od:
24. nov 2010
1543 objav
1945 962 114
#19

poglej se enkrat...



i se poveca, izpise se pa mesto!




  1. 7 golov

  2. 6 golov

  3. 5 golov

  4. 5 golov

  5. 5 golov

  6. 4 goli


všeč(1) ni všeč(0) spam(0)
 
Gogy 11. nov 2012 20:18:33 Pridružen od:
17. mar 2007
2491 objav
2064 252 12
#20

Imaš prav, me je zmedlo ko sem pri mesto videl i :) prehitro pogledal


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se