---
title: "Recordset och arrayer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/133253-recordset-och-arrayer"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "nadabalunas"
published: "2005-08-24T19:03:28.000Z"
updated: "2005-08-31T12:35:02.000Z"
replies: 2
views: 266
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/133253-recordset-och-arrayer"
---

# Recordset och arrayer

## #1 — nadabalunas, 2005-08-24T19:03Z

Försöker att på ett enkelt sätt att lagra ett RS i en array.
Denna array vill jag sedan göra åtkomlig på andra sidor för att slippa anropa databasen varje gång.

Databasen ser ut ungefär så här:
Tabell 'Kategorier':
katType, katNamn

Tabell 'typer':
adType, adTypename

sqlfrågan jag använder ser ut så här:
SELECT typer.adType,typer.adTypename,typer.katType, kategorier.katType,kategorier.katNamn 
FROM typer 
INNER JOIN kategorier 
ON typer.katType = kategorier.katType 
ORDER BY kategorier.katType,typer.adType

Resultatet vill jag loopa ut så att kategorierna bara visas en gång var.
T.ex: **Inbundet** \| **Paper back** 
Under dessa vill jag sedan loopa ut typerna.
T.ex: 
Deckare

- Deckare \| Deckare
- Romaner \| Romaner
- Övrigt \| Pockets

 

Eftersom jag behöver anropa denna array på flera sidor tänkte jag skapa den en gång vid laddningen av sidan och lägga den i en array.
Sen varje gång jag ska använda arrayen så tänkte jag använda foreach($array as $var)

Problemet just nu är alltså att jag får *dubletter* av kategorierna.
Har testat detta:
\[PHP\]		$bokarr\[\] = array
		(
			'annonstyp' =\> array
			(
				'adType' =\> $rs\['adType'\],
				'adTypename' =\> $rs\['adTypename'\],
			),
			'annonskategori' =\> array
			(
				'katType' =\> $rs\['katType'\],
				'katNamn' =\> $rs\['katNamn'\],
			),
		);

osv...

Har även testat:
\[PHP\]	
$bokarr\["kategori"\]\[$rs\["katType"\]\]=$rs\["katNamn"\];
$bokarrarr\["typ"\]\[$rs\["adType"\]\]=$rs\["adTypename"\];

Med samma resultat...

Hoppas ni förstår och har möjlighet att hjälpa mig!

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

## #2 — aasah, 2005-08-26T19:47Z

Re: Recordset och arrayer

Om du hade lagt dina koder inom \[ KOD\] (fast utan mellanslag mellan \[ och K ) så hade det blivit betydligt lättare att läsa.

Jag antar att du har en kolumn katType i typer också? Annars har du fel i SQL-frågan. Om det är så att varje kategori (kan) ha flera adTypes men inte tvärtom, samt att varje adType har precis ett adTypename så kan du skriva:

```
SELECT T.adType, T.adTypename, T.katType, K.katNamn 
FROM typer T
INNER JOIN kategorier K
ON T.katType = K.katType 
ORDER BY K.katType, T.adType
```

Eftersom katType ska vara lika i de två tabellerna så behöver du ju inte plocka ut värdet från båda tabellerna, de innehåller ju samma info. Där har du (troligen) dina dubbletter. 

> **nadabalunas skrev:**
>
> Försöker att på ett enkelt sätt att lagra ett RS i en array.
> Denna array vill jag sedan göra åtkomlig på andra sidor för att slippa anropa databasen varje gång.

Jag är inte riktigt med på vad du menar... Ditt resultset ÄR ju en array! Alltså: (Tex om du har MySQL.)

```php
$sql= "<din fåga>";
$res = mysql_query($sql) or die();
while ($row=mysql_fetch_array($res)) {
   //$row[index] innehåller den index:e kolumnen 
   //av det du tog fram med SELECT, start på index 0. 
}
```

Det finns funktioner för att flytta tillbaka pekaren till första raden för att kunns skriva ut igen om det behövs...

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

## #3 — nadabalunas, 2005-08-31T12:35Z

Ta bort joinen..

Ja visst har jag en katType i typer också.
Du menar alltså att frågan blir lika effektiv om jag slopar inner join'en?\`

Ett resultat (som ju ligger i en array) från en fråga försvinner ju när man har använt arrayen.
I alla fall funkar det så i min version av php.
Därför ville jag lägga resultatet i en array för att enkelt kunna skriva ut t.ex rubriker på varje sida utan att anropa DB.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/133253-recordset-och-arrayer
