Jag har array-bekymmer. När jag hämtar dagar resp veckor från en sql-tabell vill jag echo:a ut hur många sql-rader som har exakt samma dag och vecka. Alltså, om det finns 5 rader som har dag 3 och vecka 10, vill jag att det ska echo:a ut 5 på platsen för dag 3 vecka 10. Mitt försök blev inte mycket för världen. Det verkar som att inget sparas utan bara skrivs över.
$user=$_SESSION['sess_user'];
$month=date("m");
$sql = mysql_query("SELECT day,week FROM resultat WHERE month = $month AND user = $user") or die(mysql_error("Det gick inte att nå tabellen 'reslutat'"));
while($resultat = mysql_fetch_array($sql)){
$day = $resultat['day'];
$week = $resultat['week'];
$result_day = array();
$result_day[$week][$day] = 1 + $result_day[$week][$day];
foreach ($result_day as $a) {
foreach ($a as $b) {
echo "$b\n";
}
}
}
print_r ($result_day);
$user=$_SESSION['sess_user'];
$month=date("m");
$sql = mysql_query("SELECT day,week FROM resultat WHERE month = $month AND user = $user") or die(mysql_error("Det gick inte att nå tabellen 'reslutat'"));
$result_day = array();
while($resultat = mysql_fetch_array($sql)){
$day = $resultat['day'];
$week = $resultat['week'];
$result_day[$week][$day]++;
}
foreach ($result_day as $week => $a) {
foreach ($a as $day => $b) {
if ($b > 1){
echo "W: $week D: $day Num: $b\n";
}
}
}
Saker är totalt felplacerade i din kod. Du initierar om arrayen i varje runda, med $result_day = array(); och du försöker skriva ut innan du gått igenom alla element. Din print_r skriver dag 5 i vecka 47, vilket är det sista som hämtas ur databasen, och därmed det enda som överlever.