Anonymní profil Pavelv – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Pavelv – Programujte.comAnonymní profil Pavelv – Programujte.com

 

Příspěvky odeslané z IP adresy 109.235.7.–

C / C++ › C - práce s desitinnými čísl…
27. 11. 2015   #206826

Ahoj,

potřebuji poradit který kód je efektivnejší na MCU bez FPU. Konkrétně mám jádro MSP430.

float z;
int a = 3, b = 15;

z = (float)a+b/2.0;

z = (a*10+b*5)/10;

float z, a = 3, b = 15;

z = a+b/2;

Danou operaci provádím s hodnotama v cca 50 strukturách a tohle dělení dělám pouze u 20% z nich. Proto se mi víc zamlouvá uložení ve formátu int a případné násobení 10 - požaduji pouze 0.1 přesnost.

Mikrokontroléry › velikost pointeru
31. 1. 2015   #198653

#9 KIIV
Ano, to bylo jen z rychlosti, ale prostě dokud v překladači nezapnu C++ extension, tak to hlásí chybu u **addr_flash = 0xFF;

Ale je zajímavé, že dev C++ to přeloží normálně

Mikrokontroléry › velikost pointeru
31. 1. 2015   #198644

#6 KIIV
Tak se mi to podařilo, ale musel jsem překladači povolit podporu C++ a trochu upravit syntaxi.

#include <stdio.h> 
#include <stdint.h> 
#include <stdlib.h>

void foo(uint8_t **);

int main(void) {
  uint8_t * addr = (uint8_t *)malloc(100);   
  *addr = 0x11;   
  printf("%p - %p\n",addr,*addr);   
  foo(&addr);   
  *addr--;   
  printf("%p - %p\n",addr,*addr); 
}

void foo(uint8_t ** ptr) {   
  printf("%p - %p\n",*ptr,**ptr);   
  **ptr = 0xFF;   
  *ptr += 1;
}
Mikrokontroléry › velikost pointeru
31. 1. 2015   #198622

#4 KIIV
Tak to porovnání překladač vzal, ale *((*ptr)++) = ... mi hlásí  #76 operand of "*" must be a pointer. Možná by se slušilo doplnit, že překladač mam nastaven na čisté C.

Mikrokontroléry › velikost pointeru
31. 1. 2015   #198615

#2 KIIV
takže funkci definovat void foo(u_int8 adresa) a pak volat foo(addr) ?To se mi moc nelíbí.

A potřebuji předávat adresu, ta inkrementace musí být provedena u proměnné v mainu

Mikrokontroléry › velikost pointeru
31. 1. 2015   #198611

Zdravím, ve své aplikaci potřebuji předat ve funkci hodnotu pointeru. Mám následující kód:

main(void){

u_int8 *addr = 0x1000;

foo(*addr);
}

void foo(u_int8 *adresa){
if(adresa >= (void*)0x1000)
	*adresa++ = nejaka_8_bitova_data;
}


}

Což ovšem nefunguje, momentálně to řeším globální proměnnou, rád bych to ale udělal tak abych si do funkce předal pouze adresu toho pointeru a pak s tím normálně pracoval. Kde mi tam co chybí?

Mikrokontroléry › FLASH pamět AT45DB041
30. 1. 2015   #198578

#2 MedaPU
Díky, již jsem to vyřešil, pamět bylo potřeba nejprve před vlastní komunikací probudit. Od té doby již funguje.

C / C++ › Vázaný seznam v MCU
30. 12. 2014   #197697

Tak se o to snažím v wxDevC++ a marně. mám: 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
typedef struct xx{
    char short_text[20];
    char full_text[40];
    int predchozi;
    int dalsi;
    }MENU_ITEM;
        
int main(void)
{
    int aktualniPolozka;
    MENU_ITEM *polozka1,*polozka2;
    polozka1 = (MENU_ITEM *) malloc(sizeof(MENU_ITEM));
    polozka2 = (MENU_ITEM *) malloc(sizeof(MENU_ITEM));
    
    strcpy(polozka1->short_text,"nazev pol1");
    strcpy(polozka1->full_text,"dlouhy nazev pol1");
    polozka1->dalsi = 111;//polozka2;
    
    strcpy(polozka2->short_text,"nazev pol2");
    strcpy(polozka2->full_text,"dlouhy nazev pol2");
    polozka2->dalsi = 0;
    
    aktualniPolozka = polozka1;
    
    printf("%d\r\n",polozka1->dalsi);
    printf("%d\r\n",aktualniPolozka+60*sizeof(char)+sizeof(int));
    printf("%d",polozka2);
    
  getchar();	

return 0;
}


a chtěl bych, aby se mi do proměné polozka1->dalsi uložila hodnota adresa další struktury a tu si přes ukazatel aktualniPolozka zobrazil. Co mě na tom celém zaráží asi nejvíc je, že když definuju strukturu staticky, zabírá 68 byte, ovšem při dynamickém alokování 80 byte. Strukturu mi stačí alokovat staticky, jenže to mi už vůbec nefungovalo.

Výsledkem prinft má být 3x stejné číslo a to adresa další struktury
 

C / C++ › Vázaný seznam v MCU
29. 12. 2014   #197680

Zdravím, pro aplikaci v MCU potřebuji vyvinout nastavovací menu. V menu by mělo být cca 10 položek zobrazovat budu aktuální položku, předchozí a následující. Některé položky budou nastavovány číselně, u jiných bude popis a na pozadí přiřazení k číslům. Jak realizovat takový seznam? Asi by bylo nejlepší přes strukturu, kde by byla uložená adresa následovníka a předka a v polích jednotlivé hodnoty a popisy. Celé bych to nejradši realizoval v C, s C++ moc velký kamarád nejsem. Napsat kus kódu mi nedělá problém, ale struktury, pointery a další věci z toho pravého programování jsou problém. Případně by mi hodně pomohl kus podobného kódu, pro lepší pochopení problému.

MySQL › Vlastní RRD
25. 10. 2014   #195229

#2 Kit
Ano, ale pak poslední hodinnový průměr nebude vlastně hodinový, ale zase aktuální. Takže to už záleží na dané aplikaci. Ale jak udělat to vkládání dat do druhé tabulky? Přes ON DUPLICATE KEY?

MySQL › Vlastní RRD
25. 10. 2014   #195227

Zdravím,

chci si udělat vlastní databázi něco jako RRD. Myšlenka je taková, že budu mít dvě, nebo tři tabulky:

denní - s hodnoty po 5 min
měsíční - s hodnoty po 1 hodině
roční - s hodnoty po 1 dnu

do denní tabulky bych dal trigger na insert, aby hodnoty starší 24 hodin přesunul do měsíční. Tam je ovšem třeba vyřešit uložení a přičtení k již původní hodnotě. Takže opět trigger? či jiné řešení?
 

Mikrokontroléry › Násobení celého čísla deseti…
10. 10. 2014   #194796

Zdravím, co lze očekávat ve výsledku

unsigned char vysledek;
vysledek = TA1R * 0.3;

TA1R je registr čítače. Bude násobení korektní, nebo je lepší registr přetypovat na float, vynásobit a výsledek před uložením přetypovat na char?

Platforma je MSP430

PHP › PHPSESSID
30. 8. 2014   #193417

#2 z
Takže bych musel vytvořit funkci, která prohledá každý soubor. To je jako stavět z vody. To mi pak připadá snažší ukládat data do DB a ty následně vyčítat

PHP › PHPSESSID
29. 8. 2014   #193408

Zdravím, lze nějak vypsat seznam všech SESSID nastavených na serveru a poté zobrazovat i data jednotlivých proměnných? Potřebuji vypsat seznam všech relací přihlášených uživatelů

MySQL › Mysql CACHE dotazu
20. 8. 2014   #193213

#22 KIIV
Ano, ale uvědomil jsem si, že potřebuji v té tabulce hodnotu za poslední rok, měsíc, den. proto to přepočítávání

MySQL › Mysql CACHE dotazu
19. 8. 2014   #193205

Ok, je třeba nad tim přemýšlet, a ne jen tupě psát. Vymyslel jsem takovýto kus kódu. Moc se mi nelíbí ten select dělat třikrát nad stejnýma daty. Nešlo by to nějak upravit? 

create trigger tr_update_cache
after insert on mereni
for each row
begin
	UPDATE cache c  
		JOIN (SELECT sum(data23) as suma_year
			FROM mereni WHERE cas >  CONCAT(YEAR(CURDATE()),'-01-01 0:0:0')) d
		SET c.value = Coalesce(d.suma_year,0)
		WHERE name = 'data23_year';

		UPDATE cache c  
		JOIN (SELECT sum(data23) as suma_month
			FROM mereni WHERE cas >  CONCAT(YEAR(CURDATE()),'-',MONTH(CURDATE()),'-01 0:0:0'))d
		SET c.value = Coalesce(d.suma_month,0)
		WHERE name = 'data23_month';

		UPDATE cache c  
		JOIN (SELECT sum(data23) as suma_day
			FROM mereni WHERE cas >  Date_add(now(), INTERVAL -1 DAY))d
		SET c.value = Coalesce(d.suma_day,0)
		WHERE name = 'data23_day';
end

Nakonec i na ten začátek roku jsem vymyslel funkci, tak nevím co by bylo lepší

MySQL › Mysql CACHE dotazu
19. 8. 2014   #193202

#15 KIIV
Takže jestli to chápu správně, abych mohl uplatnit index, nesmím daný sloupec prohánět funkcí? Jak tedy získam časové razítko začátku roku?

MySQL › Mysql CACHE dotazu
19. 8. 2014   #193172

Předpokládam, že nezáleží na struktuře nezúčastněných sloupců. Formát sloupce cas je datetime s primárním klíčem, sloupec data23 je typu float(5,1) s klíčem MUL.

explain mi dá select_type = SIMPLE, table = mereni, type = index, possible_keys = null, key = idx_mereni_data23, key_len = 5, ref = null, rows = 302395, Extra = Using where, Using index

MySQL › Mysql CACHE dotazu
19. 8. 2014   #193169

#8 Mixxy
select vypadá takto: 

SELECT SUM(data23) FROM mereni WHERE YEAR(cas) = YEAR(CURDATE())

high priority mi nic neurychlí

MySQL › Mysql CACHE dotazu
19. 8. 2014   #193166

#2 Flowy
Index samozřejmě mám, ale nepociťuji žádné zrychlení.

#3 KIIV
Díky, také jako nejlepší se mi jeví použít trigger při ukládání dat.

MySQL › Mysql CACHE dotazu
18. 8. 2014   #193160

Zdravím, v tabulce naměřených hodnot s cca 260tisíc řádky potřebuji udělat sumu jednoho sloupce. Dotaz mi trvá cca 0,3 vteřiny, což je pro mě dlouhý čas, v případě interpretace několika sum na web. Napadaj mi dvě řešení:

1. Sloupec hodnot, který je řešen inkrementálně převést na sumu. Celková suma dosahuje velikosti 0-1000 s přesností na desetiny. Pak bych snadno udělal sumu jako rozdíl dvou dat. Musel bych ale přepočítat všechny již uložené řádky.

2. Vytvořit cachovací tabulku, do které bych vždy sumu vložil i s časem posledního záznamu. Při dalším dotazu bych sumu vyčetl a spočítal sumu několika desítek nově vytvořených řádků. Toto by bylo určitě jednodušší řešení na implementaci.

Jaké řešení by jste mi doporučily?

JavaScript, AJAX, jQuery › Automatické načítání proměný…
6. 8. 2014   #192695

Nakonec jsem to udělal takto: 

 <script type="text/javascript" src="/jquery.js"></script>
...
Vkladana polozka <span id="idecko"></span>
...
<script type="text/javascript">
  setInterval("dataReload()", 1000)
  
  function dataReload(){
    $.get("/var.htm", function(data){
      document.getElementById("idecko").innerHTML = data;
    });
  }
</script>


Fungovat to funguje, ovšem nedokáži posoudit efektivnost a náročnost. Co by stálo za změnu?

JavaScript, AJAX, jQuery › Automatické načítání proměný…
6. 8. 2014   #192674

Zdravím, jsem naprostý začátečník v JS a chtěl bych udělat stránku technologického schématu i s hodnotami, které se budou aktualizovat. Vzhledem k většímu obrázku, bych se chtěl vyhnout načítání celé stránky. Zatím jsem se naučil spoštět v intervalu nějakou funkci a proměnné vypisovat. Jak k tomu přidám reload? Počítám s tím, že data předám na jiné adrese přímo do JS, tam to uložím do proměnných a vypíšu. Jak ale na to, jak načíst jinou stránku do proměnné? Stačí mi trochu nakoupnout, jménami funkcí, či nějakou stránkou, která používá stejné řešení...Díky

JavaScript, AJAX, jQuery › JavaScript načtení proměné s…
6. 8. 2014   #192656

Zdravím, v html mám script, kde se nachází řádek "var aa = '~data~'; " a když otevřu stránky, server místo ~data~ doplní nějaký text. Bohužel součástí textu je na konci značka \n, script se pak rozpadne takto: 

var aa = 'nejaka_data
';


což pochopitelně nefunguje a skončí s chybou. Lze toto nějak osetrit až v JS? Server, který kód kompiluje nemůžu bohužel nijak upravit, tedy ani měnit obsah proměnné.

MySQL › Příkaz insert s where
3. 8. 2014   #192586

#19 Kit
Záleží jak kde. Zařízení, kterým data vkládám do db, umí jen zadat adresu a stáhnout odpověď serveru.

Jak vyvolám v MySQL uměle chybu, krom chyby vyvolané na primárním klíči?

MySQL › Příkaz insert s where
3. 8. 2014   #192579

#15 Kit
Výsledky zpracovává několik scriptů, navíc potřebuji aby zpracování bylo co nejrychlejší, a proč zbytečně plnit databázi nesmyslama. Proto to chci řešit na vstupu. Data přijmu na serveru pomocí GET requestu, zpracuji v php, a uložím. Takže řešení bude jedině v tom php, nebo mysql

MySQL › Příkaz insert s where
3. 8. 2014   #192577

#13 Kit
Jak přerušim akci v příkazu IF? Mám triger, kde ověřuji  

create trigger kontrola
before insert
on tab
for each row
begin
  if new.data>(old.data + 5) then ........;
  end if;
end; 
MySQL › Příkaz insert s where
3. 8. 2014   #192575

#13 Kit
Díky, podívám se na ten triger. Představ si, že mám například tabulku, kde každý sloupec reprezentuje nějakou měřenou veličinu, která se nemůže skokově měnit. Takže při vložení nového řádku si vždy zkontroluji zda nedošlo k nějakému omylnému zadání dat. Myslel jsem, že by se to nechalo řešit přes IF v DB, ale zřejmě ne. Jdu vyzkoušet ten triger...

MySQL › Příkaz insert s where
3. 8. 2014   #192573

#11 Kit
Takže bych musel překopat tabulku, jestli se nepletu. V tabulce mam několik číselných sloupců, a potřebuji zajistit, aby při vkládání dat, vyhovovala nová hodnota vzorci "stará - 5 < nová < stará + 5". A takto pro každý sloupec. Jde mi o to, jestli je jednodušší to řešit na úrovni MySQL, nebo php, kterým tam ty hodnoty vkládam.

MySQL › Příkaz insert s where
3. 8. 2014   #192570

#7 Kit
A pokud potřebuji vložit do tabulky záznam pouze pokud nová hodnota je odlišná od předchozí v určitém rozmezí? Něco jako  

INSERT INTO tab SET prom = 'value'WHERE prom > 'value' ORDER BY id DESC
MySQL › Optimalizace dotazu
30. 7. 2014   #192460

Zdravím, vykonávám takovýto dotaz, kde se přehrabuju v neskutečném množství dat. Za den sbírám cca 1400 záznamů a aplikace běží již přes rok... Pokud zavolám dotaz  

  (SELECT  SUM(rain) FROM mereni WHERE cas > CURDATE()) 
UNION ALL 
(SELECT  
	SUM(rain) FROM mereni WHERE MONTH(cas) = MONTH(CURDATE()) 
	AND YEAR(cas) = YEAR(CURDATE())) 
UNION ALL 
(SELECT  SUM(rain) FROM mereni WHERE YEAR(cas) = YEAR(CURDATE()) )
UNION ALL
(SELECT MAX(temp) FROM mereni WHERE date(cas) = date(now()))

tak jeho vykonání trvá cca 0,8 vteřiny. Dal by se nějak zrychlit?

MySQL › Příkaz insert s where
26. 7. 2014   #192395

#3 Kit
Můžeš trochu rozepsat to s tím select? Nebo sloupce s hodnotama umístím na konec? Unikátnost nestačí, potřebuji kontrolovat více sloupců najednou...

MySQL › Příkaz insert s where
26. 7. 2014   #192388

Zdravím, jak vložit do tabulky řádek pouze pokud je splněna určitá podmínka. Něco jako "insert into tab set data = 'xxx' where nevim != 'yyy' " - pokud není nalezena hodnota 'yyy' ve sloupci nevim, pak vlož nový řádek....

MySQL › databáze podobná RRD
10. 7. 2014   #191972

#4 Kit
No ale tim nezískám pole hodnot např. za celý měsíc, kde každá hodnota průměrována cca 60 vzorky(hodinou)

MySQL › databáze podobná RRD
10. 7. 2014   #191964

#2 p3can
Myslíš jednu tabulku se vším a přes WHERE dostat dostat hodinové průměry? To nevím jak. Nicméně i tak se budu přehrabovat v db a vybírat jen pár dat.

MySQL › Ošetření chyby dotazu
10. 7. 2014   #191963

#27 Kit
špatně koukám . Celou dobu jsem si myslal že to je můj post. No hlavní je, že to funguje a že ošetření budu raději dělat u všeho

MySQL › Ošetření chyby dotazu
10. 7. 2014   #191961

#24 Kit
Jsem se překoukl. V #10 ta podmínka již je. Post #9 jsem psal jen z hlavy...

MySQL › Ošetření chyby dotazu
10. 7. 2014   #191952

#18 Kit
Však já jí tam mám celou dobu, viz #9. Testování shodnosti starého hesla s novým je spíše luxus :)

MySQL › Ošetření chyby dotazu
10. 7. 2014   #191950

#16 Kit
Zkoušeno, dva stejný uživatelé různá hesla, různé uživatelé a stejná hesla... 

UPDATE uzivatele
SET heslo = '".hash("sha256",$heslo_new.$login.$ocasek,false)."'  
WHERE login = '".$login."' 
AND heslo = '".hash ("sha256",heslo_old.$login.$ocasek, false)."'
MySQL › Ošetření chyby dotazu
9. 7. 2014   #191948

#14 Kit
To ano, ale není možné vytvořit dva stejné uživatele

EDIT:
Zapoměl jsem na to, že UPDATE provedu jen pokud mi sedí jak jména, tak hesla. A otisk hesla je vytvořen ze jména, hesla a soli
 

MySQL › databáze podobná RRD
9. 7. 2014   #191947

Zdravím, do db ukládám kažkou minutu svá data z meteostanice.Poté následně kreslím grafy (denní, týdenní, měsíční, roční,...) A potřebuji mít možnost koukat podrobně na libovolný den zpětně. Takže v jedné tabulce budou všechny data. Pak ale při vykreslování grafu za dlouhé období načítám značné množství dat. Napadlo mi udělat více tabulek, kde by byli třeba hodnoty po hodině, 12h,.... Šli by ty tabulky vytvářet přes trigery? Je zapotřebí duplikovat celý obsah řádku? Záznamy v původní tabulce nejsou vždy po minutě(výpadky elektřiny, údržba,...). Jaké zvolit efektivní řešení?

MySQL › Ošetření chyby dotazu
9. 7. 2014   #191945

#12 Kit
Ano, ale proměnná $login vždy obsahuje správné jméno, které na vstupu zkontroluji pomocí preg_match

$vysl =mysql_query("select id, ugroup from uzivatele where login = '$login' and heslo = '$sha1pw'")
if(mysql_num_rows($vysl == 1)) // uzivatel je prihlasen
{
...mysql_query("UPDATE uzivatele......
}
MySQL › Ošetření chyby dotazu
9. 7. 2014   #191942

#10 Kit
Jak to myslíš s tou změnou hesla?

MySQL › Ošetření chyby dotazu
9. 7. 2014   #191935

#8 Kit
teď se k tomu nedostanu, ale něco ve smyslu  

if(mysql_result(mysql_query("SELECT COUNT(*) FROM uzivatele WHERE login = '$login'"),0))
	mysql_query("UPDATE uzivatele SET pass = '$heslo'");
$vysl = mysql_query("SELECT Jmeno,Prijmeni FROM klienti WHERE IP = '$ip'");
MySQL › Ošetření chyby dotazu
9. 7. 2014   #191933

#6 Kit
Můžeš mi tedy poradit jak sloučit tyto dva dotazy?

SELECT COUNT(*) FROM uzivatele WHERE login = ...
SELECT Jmeno,Prijmeni FROM klienti WHERE IP = ...
MySQL › Ošetření chyby dotazu
9. 7. 2014   #191931

#2 Kit
Mezi dotazama je většinou vyžadována interakce od uživatele, jinak kde využívám několk selectů za sebou je čtení hodnot z jedné tabulky a pak výpis počtu řádků z druhé tabulky. U toho dotazu nevím jak smíchat různé dimenze...

MySQL › Ošetření chyby dotazu
9. 7. 2014   #191912

Zdravím, chtěl bych se zeptat jestli je zapotřebí v php ošetřovat všechnu práci s DB. Například udělám SELECT, kde testuji chybový stav, v tom někde něco poupravím, udělám další SELECT z jiné tabulky, opět otestuji a pak udělám UPDATE a znovu testuji. Podobně dělám i 5 dotazů. Nakolik je zapotřebí každý dotaz ověřit zda se vykonal?

MySQL › informace o změně v tabulce
9. 7. 2014   #191911

#4 p3can
Díky za nápad. logování mám zatím do souboru, takže to předělám do DB a přidám všechny informace o změně.

MySQL › informace o změně v tabulce
9. 7. 2014   #191908

#2 Kit
TIMESTAMP ale neřeší odebrání řádku. Musel bych to ještě vhodně doplnit o ten počet řádků někde v souboru, nebo DB. Nelze nějakým příkazem zjistit čas poslední modifikace tabulky?

MySQL › informace o změně v tabulce
8. 7. 2014   #191906

Zdravím,

mám tabulku o 10 sloupcích a 50 řádcích a potřebuji snadno zjistit jestli se někde něco změnilo. To znamená abych dostal informaci jestli došlo ke změně, přidání či odebrání řádku. Nepotřebuji vědět kdy a co, stačí jen info že byla provedena změna. Napadá mi několik možností:

  • vytvořit duplikovanou tabulku,
  • přidat sloupec změna a ten vždy nastavit do 1 při sáhnutí do db obslužným programem.
  • někam do souboru ukládat informace z tabulky

O zápis a čtení DB se starají dva různé prograny, které můžu libovolně měnit. Četnost očekávám 2x za týden. Jakou metodu by bylo nejlepší zvolit?

PHP › JpGraph - null hodnoty
14. 5. 2014   #190169

Zdravím, v jpgraphu vykresluju xy graf jako 'datlin'. Vstupní data mam po 60s. Jak udělat aby to nespojovalo body grafu vzdálené od sebe více jak 60s?

MySQL › Příkaz UPDATE
15. 3. 2014   #188265

#2 Kit
A jak jinak by měl vypadat?

MySQL › Příkaz UPDATE
15. 3. 2014   #188260

Zdravím, proč mi nefunguje tento příkaz v PHP?

mysql_query("UPDATE klienti SET zmeneno = 0 WHERE zmeneno = 1");

Zadám-li to takto do MySQL Workbech funguje to normálně. Jiné příkazy na update fungují, ale je pravda že nikde neměnim to co je podmínkou.

PHP › Zápis null do databáze
15. 3. 2014   #188248

#5 Kit
Grafy vykresluju na straně serveru přes jpgraph. Využívat klienty se mi nechce.

PHP › Zápis null do databáze
15. 3. 2014   #188242

#2 Kit
Navíc grafy vykresluju každou minutu a myslím že je to mrhání časem a zbytečná zátěž pro server.

PHP › Zápis null do databáze
15. 3. 2014   #188234

#2 Kit
Bohužel zařízením kterým předávám data umí pouze GET, ale pokud to chápu dobře, na funkčnost to vliv nemmá. Graf vykresluji přes jpgraph. Vzhledem k tomu, že zapisuju přes 10 dat ze kterých poté dělám přes 30grafů, volil bych raději úpravu na straně ukládání než čtení.

PHP › Zápis null do databáze
15. 3. 2014   #188231

Zdravím, potřeboval bych poradit jak na tento problém. Do php scriptu předám přes GET parametry co chci zapsat do MySQL. Zápis za běžného stavu probíhá každou minutu. Z těchto dat poté vykresluju graf, kde ale musím přes for kontrolovat zda jdou minuty po sobě a do mezer vkládat null hodnoty. To je ovšem zdlouhavé, napadlo mi null hodnoty vkládat hned při zápisu dat. Podívám se na minutu předchozí a pokud nebude existovat záznam, zapíše se null, poté kouknu na -2 min a to samé, dokad nenarazím na platná data. Problém je, že nemohu vymyslet způsob jak tento cyklus co bude odečítat datum vymyslet. Momentálně to mam takto:

cas = date("Y-m-d H:i:00");
$data = $_GET['data'];

mysql_query("insert into db ('$cas', '$data');

Databáze i php script běží na jednom serveru.

C / C++ › Menu
2. 1. 2014   #185868

Zdravím,

ve volném čase se zabývám programováním a vytvářením ovládacích systému s procesory MPS430. Ctěl bych se zeptat jestli jste někdo neřešil nějaké víceúrovňové menu. Třeba tři úrovně jako nastavení->display->kontrast. Momentálně jsem dělal pouze jednu úroveň a řešil jsem to přes switche a bylo to strašně nepřehledné. Na display bych chtěl mít buď jednu aktuální položku, nebo předchozí i následující. Je vážně takový problém udělat podobné menu?

Pavelv
PHP › JpGraph - vlastní značka
9. 12. 2013   #184978

Zdravím,

v php vytvářím graf měřených hodnot v závislosti na čase. Nyní bych potřeboval nějaký bod v grafu zviditelnit. Zatím jako jediné řešení jsem nalezl funkci $mark = new IconPlot('mark.png',0.15,0.045,0.15,100); ovšem musel bych dělat celkem složitý přepočet. Osa x je pevně daná, ale osa y se mění dynamicky podle hodnot. Neexistuje nějaká funkce, které bych jako vstup poslal přímo bod v souřadnicích který chci zvýraznit? Nebo toho bodu nějak získat souřadnice a pak přepočítat podle výšky a šířky grafu?

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý