Slutar hämta data vid midnatt.

Generella mjukvarufrågor som inte är beroende av vilket operativsystem som körs skall ställas i denna kategori
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
bjornsson
Hemautomation - det är mer än en hobby
Inlägg: 403
Blev medlem: 25 aug 2010, 09:06
Ort: Bräcke

Slutar hämta data vid midnatt.

Inlägg av bjornsson »

Vet inte riktigt vart felet kan vara men jag kör detta i en php fil.

Kod: Markera allt

$devices[2]["Vindhastighet m/s"][0] = "SelECT ROUND(gstspd,1) as result FROM wx_data ORDER BY time DESC LIMIT 1";

även testat denna som jag använder för att plocka ur tempen från mitt 1-wire nät och då funkar det, det som jag försöker hämta nu är sparat från weatherDisplay men borde ju inte spela någon roll tycker jag.

Kod: Markera allt

	$devices[2]["Vindhastighet m/s"][0] = "SelECT ROUND(gstspd,1) FROM `wx_data` ORDER BY `time` DESC LIMIT 1";
Den plockar det senaste värdet ur databasen, men efter midnatt så slutar den plocka det nyaste utan tar det som skrevs i databasen närmast strax före midnatt.

Vet inte riktigt vart vart jag ska börja leta då jag oftast kör klipp&klista och gissar mig fram :mrgreen:





Så här ser DLLen ut.

Kod: Markera allt

CREATE TABLE `wx_data` (
  `date` date NOT NULL DEFAULT '0000-00-00',
  `time` time NOT NULL DEFAULT '00:00:00',
  `temp` float NOT NULL DEFAULT '0',
  `maxtemp` float NOT NULL DEFAULT '0',
  `mintemp` float NOT NULL DEFAULT '0',
  `humidity` float NOT NULL DEFAULT '0',
  `gstspd` float NOT NULL DEFAULT '0',
  `windspeed` float NOT NULL DEFAULT '0',
  `vindriktning` float NOT NULL DEFAULT '0',
  `molnhojd` float NOT NULL DEFAULT '0',
  `Server` float NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Så här ser den ut där det funkar.

Kod: Markera allt

CREATE TABLE `ute` (
  `index` bigint(20) NOT NULL AUTO_INCREMENT,
  `TimeStamp` datetime NOT NULL,
  `Temperature` double NOT NULL,
  PRIMARY KEY (`index`)
) ENGINE=InnoDB AUTO_INCREMENT=743 DEFAULT CHARSET=latin1;
daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: Slutar hämta data vid midnatt.

Inlägg av daromer »

Om du tänker efter lite på vad det är du sorterar efter så ser du felet :D

DU sorterar efter Time och det kommer bli lite galet då.
Du måste sortera på tiden och datumet. "order by date,time"

Din tabell för temp är ju av formate datetime. Så där funkar det bättre.
Sedan är båda dina sqler du skrev identiska så vet inte hur du kan få olika värden på dem?
bjornsson
Hemautomation - det är mer än en hobby
Inlägg: 403
Blev medlem: 25 aug 2010, 09:06
Ort: Bräcke

Re: Slutar hämta data vid midnatt.

Inlägg av bjornsson »

Hur ska jag lägga in det då?

För som jag lägger in det nu får jag "SQL error: Unknown column 'date,time' in 'order clause'"

Kod: Markera allt

$devices[2]["Vindriktning°"][0] = "SelECT ROUND(Vindriktning,1) as result FROM `wx_data` ORDER BY `date,time` DESC LIMIT 1";
Men tar jag bort dom två"``" så får jag ett värde men det som skrevs senast före midnatt
byter jag plats på date,time till time,date så tar han det som är första värdet för idag.

Så det jag gjorde var istället att jag kollade hur Dllen ser ut för den som funkar och la då till "`index` bigint(20) NOT NULL AUTO_INCREMENT,"
En index som räknar från 1 och uppåt för varje nya rad i databasen.

Så när den sur ut så här då plockar den det senaste värdet ut databasen.

Kod: Markera allt

$devices[2]["Vindriktning°"][0] = "SelECT ROUND(Vindriktning,1) as result FROM `wx_data` ORDER BY `index` DESC LIMIT 1";


Vet inte om det är "rätt" men det funkar ju för stunden iaf :P
daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: Slutar hämta data vid midnatt.

Inlägg av daromer »

Ja det funkar också att göra.

http://dev.mysql.com/doc/refman/5.0/en/ ... ation.html

Där har du syntaxen för order by annars.
Skriv svar