Sammenligne data i et multidimensionelt array
HejJeg er ved at lave en fodboldside, hvor der på en af siderne skal være mulighed for at se stillingen.
Jeg har sat min kode med i slutningen af spørgsmålet. Jeg har forsøgt at kommenterer den så godt som muligt, men hvis I har spørgsmål, skal I da bare skrive, og så vil jeg forsøge at uddybe mit problem.
Jeg kan godt få skrevet de hold ud, som møder hinanden og de får også det rigtige antal point. Problemet er bare, at pointene for et givet hold jo skal lægges sammen. Fx hvis et hold har spillet 2 kampe, og vundet en og spillet en uafgjort, skal holdet have 3+1 point. Jeg har forsøgt forskellige ting, men er ikke kommet op med en løsning :o(
<?php require_once('../../Connections/connKIF.php'); ?>
<?php
mysql_select_db($database_connKIF, $connKIF);
$query_recDato = "SELECT date_format(dato,'%d/%m-%Y') as kdato FROM kampe ORDER BY kampe.dato ASC";
$recDato = mysql_query($query_recDato, $connKIF) or die(mysql_error());
$row_recDato = mysql_fetch_assoc($recDato);
$totalRows_recDato = mysql_num_rows($recDato);
mysql_select_db($database_connKIF, $connKIF);
$query_recPulje = "SELECT * FROM pulje";
$recPulje = mysql_query($query_recPulje, $connKIF) or die(mysql_error());
$row_recPulje = mysql_fetch_assoc($recPulje);
$totalRows_recPulje = mysql_num_rows($recPulje);
//Vælger de hold som er i pulje 5
mysql_select_db($database_connKIF, $connKIF);
$query_recKlubber = "SELECT * FROM holdpulje,pulje,hold WHERE holdpulje.puid=pulje.puid AND holdpulje.hid=hold.hid AND pulje.puid=5";
$recKlubber = mysql_query($query_recKlubber, $connKIF) or die(mysql_error());
$row_recKlubber = mysql_fetch_assoc($recKlubber);
$totalRows_recKlubber = mysql_num_rows($recKlubber);
//variablen hold laves, så den kan anvendes under WHERE i recKampe statementen.
$hold=$row_recKlubber['hid'];
//variablen pulje laves, så den kan anvendes under WHERE i recModstandere statementen.
$pulje=$row_recKlubber['puid'];
//Tæller antallet kampe spillet.
mysql_select_db($database_connKIF, $connKIF);
$query_recKampe = "SELECT count(kampe.spillet) FROM kampe WHERE kampe.hid=$hold AND kampe.spillet = 1";
$recKampe = mysql_query($query_recKampe, $connKIF) or die(mysql_error());
$row_recKampe = mysql_fetch_assoc($recKampe);
$totalRows_recKampe = mysql_num_rows($recKampe);
//Vælger alle hjemmehold, som har spillet deres kamp.
mysql_select_db($database_connKIF, $connKIF);
$query_recHjemmehold = "SELECT * FROM kampe,holdpulje,hold WHERE kampe.hid = holdpulje.hid AND holdpulje.puid=$pulje AND hold.hid=holdpulje.hid AND kampe.spillet=1 AND kampe.hjemme = 1";
$recHjemmehold = mysql_query($query_recHjemmehold, $connKIF) or die(mysql_error());
$totalRows_Hjemmehold = mysql_num_rows($recHjemmehold);
//for-løkken kører så længe, at der er en række af hjemmehold
for ($s=0; $s<$totalRows_Hjemmehold; $s++) {
$row_recHjemmehold = mysql_fetch_assoc($recHjemmehold);
$kamp=$row_recHjemmehold['kid'];
//Vælger alle udehold, som har spillet deres kamp.
mysql_select_db($database_connKIF, $connKIF);
$query_recUdehold = "SELECT * FROM kampe, holdpulje,hold WHERE kampe.hid = holdpulje.hid AND kampe.kid = $kamp AND holdpulje.puid =$pulje AND hold.hid=holdpulje.hid AND kampe.spillet = 1 AND kampe.hjemme = 0";
$recUdehold = mysql_query($query_recUdehold, $connKIF) or die(mysql_error());
$row_recUdehold = mysql_fetch_assoc($recUdehold);
//Sammenligner holdenes kid for at finde de hold som har mødt hinanden. Der er altid to hold som har den samme kid, et ude- og et hjemmehold.
if ($row_recHjemmehold['kid'] == $row_recUdehold['kid']) {
//Sammenligner hjemmeholdenes mål med udeholdenes mål, for at finde vinden eller se om det er endt uafgjort.
if ($row_recHjemmehold['maal'] == $row_recUdehold['maal']) {
//Laver en variabel som holder styr på hvem der skal have point.
$varHjemmePoint = 1;
$varUdePoint = 1;
//echo " uafgjort ";
else if ($row_recHjemmehold['maal'] < $row_recUdehold['maal']){
$varHjemmePoint = 0;
$varUdePoint = 3;
//echo " vinder: ".$row_recUdehold['hid'];
} else if ($row_recHjemmehold['maal'] > $row_recUdehold['maal']){
$varHjemmePoint = 3;
$varUdePoint = 0;
//echo " vinder: ".$row_recHjemmehold['hid'];
}
}
//Et multidimensionelt array laves, som indeholder hid, maal, point og holdnavn for både udeholdene og hjemmeholdene
$hold = array( array($row_recHjemmehold['hid'], $row_recHjemmehold['maal'], $varHjemmePoint, $row_recHjemmehold['holdnavn']),
array($row_recUdehold['hid'], $row_recUdehold['maal'], $varUdePoint, $row_recUdehold['holdnavn']));
echo "<table width=500 border=1>";
echo "<tr><td>Hid</td><td>Mål</td><td>Point</td><td>Hold</td></tr>";
//Da der er anvendt et mulitdimensionelt array bruges der et for loop inden i et for loop, for at holde styr på både rækker og kolonner.
//løkken kører indtil $row < 2, da det er 2 hold som mødes. Et hjemmehold og et udehold.
for ( $row = 0; $row < 2; $row++ ){
echo "<tr>\n";
//Løkken kører indtil $column < 4 da der er 4 rækker i tabellen. Hid, mål, point og hold.
for ( $column = 0; $column < 4; $column++ ){
echo "<td>".$hold[$row][$column]."</td>\n";
}
echo"</tr>";
}
echo "</table>";
}
?>
Håber I kan hjælpe mig.
dick_turbin
