Halløj :-)
Jeg er ved at kode en side, hvor man kan bette på NFL resultater. Man kan gætte på vinderen, og hvor mange mål de vinder med. Denne kode skal bruges, når ingen har bettet den rigtige målforskel, og derfor skal dette bruges til at tjekke hvem der så er tættest på.
Men denne kode tager ikke højde for hvis 2 personer er lige tæt på resultatet (altså, hvis en har 4 og en har 6 og resultatet er 5 - så er de begge 1 fra).
Hvordan laver jeg koden om, så den lagrer navnene på alle vinderne?
Tak :-)
$smallestdist = 9999;
$winner = null;
$sql = "select * from nflbets where kampnr = '$kampnr'";
$result = mysql_query($sql3) or die(mysql_error());
while ($row = mysql_fetch_array($result))
{
// tjekker om user har rigtig vinder
if($row["vinder"] == $vinder)
{
$userdist = abs($maalforskel - $row["maalforskel"])
if($userdist < $smallestdist)
{
$smallestdist = $userdist;
$winner = $row["brugernavn"];
}
}
}
Der er sikkert mange måder at gøre det på, men herunder er den som jeg ville bruge.
Jeg antager at $maalforskel er den faktiske målforskel og $vinder er den faktiske vinder, og ikke et gæt fra en bruger. Din tabel "nflbets" indeholder brugernes bud på kampen med id "$kampnr"
$vinder = "Et hold"; // Kampens vinder
$maalforskel = 2; // kampens målforskel
$sql = "select * from nflbets where kampnr = '$kampnr'";
$result = mysql_query($sql3) or die(mysql_error());
while ($row = mysql_fetch_array($result))
{
// tjekker om user har rigtig vinder
if($row["vinder"] == $vinder)
{
$userdist = abs($maalforskel - $row["maalforskel"])
$vinder_array[$userdist][] = $row["bruger_id"]
}
}
Det skulle gerne give et array som ser ud således:
[1] = array('Bruger_1','Bruger_2'),
[2] = array('Bruger_3','Bruger_4'),
[3] = array('Bruger_5','Bruger_6')
...altså et array hvor index er målforskel og værdien er et array med alle id på de brugere som har den pågældende målfoskel.
Håber det hjalp.