---
title: "Hitta rätt cell i array."
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/166671-hitta-rätt-cell-i-array"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "überfuzz"
published: "2007-11-25T15:02:51.000Z"
updated: "2007-11-25T15:36:39.000Z"
replies: 2
views: 403
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/166671-hitta-rätt-cell-i-array"
---

# Hitta rätt cell i array.

## #1 — überfuzz, 2007-11-25T15:02Z

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.

```php
$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);
```

print_r ger följande: Array ( \[47\] =\> Array ( \[5\] =\> 1 ) )

Permalänk: https://www.webforum.nu/p/166671

## #2 — nitro2k01, 2007-11-25T15:27Z

```php
$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.

Koden ovan är otestad men bör fungera.

Permalänk: https://www.webforum.nu/p/2053866

## #3 — überfuzz, 2007-11-25T15:36Z

Gud vad genant. Nu tror jag att jag ska gå och ta lite gift.

Tack!

Permalänk: https://www.webforum.nu/p/2053870

---

Tråden på webben: https://www.webforum.nu/amne/php/166671-hitta-rätt-cell-i-array
