Gå til innhold

Anbefalte innlegg

HEi!

 

Hvordan benytter man array i en SQL-spørring til for eksempel å hente ut en header - skrives ut en gang - med påfølgende underobjekter.

Altså et hierarki som dette:

Header

-Objekt 1

-Objekt 2

-Objekt 3

 

I tillegg er header lagret i én tabell med id som knyttes opp mot en annen database på id = kategori -> INNER JOIN.

 

Får følgende utskrift:

Kategori: Header
       ansatte
Kategori: Header
       forside
Kategori: Header
       kontakt
Kategori: Header
       om

ut i fra denne spørringen:

// SQL-Spørring	

$query= mysql_query("
	SELECT k.*, s.navigasjon, s.kategori 
	FROM kategori as k
	INNER JOIN sider as s
	on k.id = s.kategori
	ORDER BY visning ASC
");

// Skriver resultat

while( $row = mysql_fetch_array($query) )
{
echo '
	<b>Kategori:</b> '.$row['tittel'].'<br>
	        '.$row['navigasjon'].'<br>
';
}

Lenke til kommentar
Videoannonse
Annonse

Hent det ut i to løkker. Header hentes ut i den ytre løkken mens informasjon som tilhører "current" header, hentes ut i den indre løkken.

 

Så da får du to enklere spørringer, du trenger ingen join. I den ytre løkken henter du id og header, og i den indre henter du ut informasjon where header_id=id.

Endret av MikkelRev
Lenke til kommentar
  • 3 uker senere...

Ønsker vel egentlig én spørring så løste det på følgende måte:

 

while ($row = mysql_fetch_object ($query)) {
   if (is_null ($header) OR $header != $row->tittel) {
       $header = $row->tittel;
       $output .= '<h2>Kategori: ' . $header . '</h2>';
   }
   $output .= ' -> ' . $row->navigasjon. '<br>';
}
echo $output;

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...