Gå til innhold

Sammenlikne flere måneder


Anbefalte innlegg

Jeg har en "vær-tabell" med temperatur for alle dagene.

Det jeg ønsker er å hente ut alle temperaturer for to forskjellige måneder og sammenlikne disse.

Er det en fansey måte å hente ut dette slik at jeg kan printe det ut i en tabell med en kollonne for hver tabell?

 

Tenkte først å ha spørringen:

SELECT * FROM vaer WHERE mnd = $mnd1

så kjøre ha en med mnd = $mnd2

 

Problemet blir jo å få printet ut dette sammtidig i samme rad... eller?

 

(Kan jo mellomlagre hver spørring i et array, men bør vel finnes en enklere måte.. :hmm: )

Lenke til kommentar
Videoannonse
Annonse

Først, aldri bruk SELECT * hvis du ikke da trenger alle feltene i tabellen, hvis ikke så velg hver enkelt felt SELECT felt1,felt2,...,feltx FROM

 

Du kan prøve noe slikt

SELECT a.mnd,a.temp,b.mnd,b.temp FROM vaer a, vaer b 
WHERE MONTH(a.mnd)=MONTH(ADDDATE(b.mnd,INTERVAL 1 MONTH)) AND MONTH(a.mnd)={$mnd}

 

Sett så verdien på $mnd til den måneden og en frem du ønsker å sammenligne. F.eks 5 for mai og juni.

 

Har ikke testet dette.

Endret av crowly
Lenke til kommentar
  • 4 uker senere...

Har nå prøvd med følgende:

SELECT DISTINCT a.tid, a.temp, b.tid, b.temp
FROM innlegg a, innlegg b
WHERE AND a.tid >1177970401 AND a.tid <1180648799 AND b.tid >1180648801 AND b.tid <1183327199
LIMIT 30, 30

 

Men det virker som at jeg får ut temperaturen for den første måneden en gang for hver dag i den andre måneden...

Jeg vil gjerne ha temperaturen for hver dag i de to månedene.. Trenger også en sendeig måte å finne ut hvilke dager som ikke har regisrert noen måned..

 

Til slutt vil jeg printe ut temperaturen for de to månedene i en tabell, men en kollonne for hver mnd, men det skal jeg vel få til hvis jeg bare får hentet ut fra databasen på en lur måte..

Lenke til kommentar

Kanskje noe så enkelt som dette, trenger sikkert litt finpuss på css og generell layout og slikt. Så må du lage noe så du kan endre verdiene på $start_mnd og $slutt_mnd ;)

PHP
<?php

$start_mnd=7; //juli

$slutt_mnd=8; //august

 

$sql="SELECT mnd, temp, MONTH( mnd ) 

FROM test

WHERE MONTH( mnd ) >=".$start_mnd."

AND MONTH( mnd ) <=".$slutt_mnd."

ORDER BY mnd";

 

$result=mysql_query($sql);

//første mnd tabell

echo '<div style="float:left;"><table>';

echo '<tr><td>Dato</td><td>Temperatur</td></tr>';

while ($row=mysql_fetch_row($result))

{

  if ($row[2]==$slutt_mnd) break;

  echo '<tr><td>'.$row[0].'</td><td>'.$row[1].'</td></tr>';

}

echo '</table></div>';

 

//andre mnd tabell

echo '<div style="float:left;"><table>';

echo '<tr><td>Dato</td><td>Temperatur</td></tr>';

//neste post er allerede hentet inn

echo '<tr><td>'.$row[0].'</td><td>'.$row[1].'</td></tr>';

while ($row=mysql_fetch_row($result))

{

  echo '<tr><td>'.$row[0].'</td><td>'.$row[1].'</td></tr>';

}

echo '</table></div>';

mysql_free_result($result);

?>

Endret av crowly
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...