Lid |
|
Hallo,
Ik ben momenteel bezig met een soort van paardenrace spel te maken. In de tabel `horses` staan alle gegevens opgeslagen van de paarden, naam, id, van welke user het paard is, de snelheid, maar vooral de gewonnen racen, de racen waar het paard 2des was en het totaal aantal racen.
Nu is er een probleem. Na de race wordt je doorgestuurd naar results.php, waar-ie dan de tabel update. Voor het paard dat gewonnen is zet hij wins op wins+1, voor het paard dat tweedes was seconds op seconds+1 etc. Op het einde zet-ie ook nog voor elk paard totalraces op totalraces+1.
Maar nu krijg ik soms dit in mijn database: wins=1, seconds=1, totalraces=3?? Ook dit komt wel eens voor: wins=4, seconds=6, totalraces=5... Iemand een idee wat er verkeerd gaat?
Dit is de code:
<?php
$aantal = $_POST['racewith'];
$user = "***";
$pass = "***";
$host = "localhost"; // Maakt verbinding met de database
$db = "horseracing";
$connection = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($db, $connection) or die(mysql_error());
if ($aantal == 2) { // Als de race met twee paarden was
$places = array();
for ($i=0;$i<$aantal;$i++) { // Sorteert de afgelegde afstanden van groot naar klein
array_push($places, $_POST['horse' . $i . 'dist']);
}
sort($places);
$places = array_reverse($places);
if ($places[0] == $_POST['horse0dist']) { // Bepaalt het id van de eerste en de tweede
$first = $_POST['horse0name'];
$second = $_POST['horse1name'];
}
else {
$first = $_POST['horse1name'];
$second = $_POST['horse0name'];
}
$query = "SELECT wins FROM horses WHERE id='$first';"; // Bepaalt het aantal gewonnen wedstrijden van de eerste
$result = mysql_query($query);
$array = mysql_fetch_array($result);
$wins = $array[0];
$wins++;
$query = "UPDATE horses SET wins='$wins' WHERE id='$first';";
$result = mysql_query($query);
$intwins = intval($wins/3);
$nointwins = $wins/3;
if ($intwins == $nointwins) {
$query = "UPDATE horses SET speedfactor=speedfactor+0.05 WHERE id='$first';";
echo "$query";
$result = mysql_query($query);
}
$query = "SELECT wins FROM horses WHERE id='$second';";
$result = mysql_query($query);
$array = mysql_fetch_array($result);
$seconds = $array[0];
$seconds++;
$query = "UPDATE horses SET seconds='$seconds' WHERE id='$second';";
$result = mysql_query($query);
$query = "UPDATE horses SET totalraces=totalraces+1 WHERE id='".$_POST['horse0name']."' OR id='".$_POST['horse1name']."';";
mysql_query($query);
// header("location:race.php?horses=2");
}
?>
<?php $aantal = $_POST['racewith']; $user = "***"; $pass = "***"; $host = "localhost"; // Maakt verbinding met de database $db = "horseracing"; if ($aantal == 2) { // Als de race met twee paarden was for ($i=0;$i<$aantal;$i++) { // Sorteert de afgelegde afstanden van groot naar klein array_push($places, $_POST['horse' . $i . 'dist']); } if ($places[0] == $_POST['horse0dist']) { // Bepaalt het id van de eerste en de tweede $first = $_POST['horse0name']; $second = $_POST['horse1name']; } else { $first = $_POST['horse1name']; $second = $_POST['horse0name']; } $query = "SELECT wins FROM horses WHERE id='$first';"; // Bepaalt het aantal gewonnen wedstrijden van de eerste $wins = $array[0]; $wins++; $query = "UPDATE horses SET wins='$wins' WHERE id='$first';"; $nointwins = $wins/3; if ($intwins == $nointwins) { $query = "UPDATE horses SET speedfactor=speedfactor+0.05 WHERE id='$first';"; } $query = "SELECT wins FROM horses WHERE id='$second';"; $seconds = $array[0]; $seconds++; $query = "UPDATE horses SET seconds='$seconds' WHERE id='$second';"; $query = "UPDATE horses SET totalraces=totalraces+1 WHERE id='".$_POST['horse0name']."' OR id='".$_POST['horse1name']."';"; // header("location:race.php?horses=2"); } ?>
dank bij voorbaat!
|