Gå til innhold

kan noen hjelpe meg med MySQL C API ?


Gjest Slettet+142

Anbefalte innlegg

Gjest Slettet+142

hey..

 

holder på å lese en bok om C++ no, men eg e utolmodig og har derfor delvis vansker med å lese boken :p

 

noen som kunne hjulpet meg med å lage et program som kjører i bakgrunnen (på en linux maskin), og loope med 6 timers ventetid mellom hver gang den sjekker en xml-fil (eller noe som er skrevet i en html-fil?), hvis den er oppdatert, oppdaterer programmet en rad i en mysql-database?

 

fikk vite om C API for MySQL her

 

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

 

altså mer eller mindre de samme funksjonene du finner igjen i f.eks. PHP

6838190[/snapback]

 

 

tenker noe slikt:

 


//du trenger ikkje å nevne at eg har alt for mange header-filer inkludert altså :P

// #include < <mysql-bibliotek> >
#include <string>
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <cmath>
#include <ctime>
#include <iomanip>
#include <cctype>
#include <sstream>
#include <time.h>
#include <windows.h>
using namespace std;

int main(){
   
while( 1 == 1 ){
//sjekk xml eller html-side
//sjekk mysql-database-felt-i-tabell
//if(<resultat fra xml/html> != <resultat fra mysql-felt>){
//oppdater mysql-felt
//}//if
//sleep(21600);  // sekunder?
}//while
   
   return 0;
}

 

 

unnskyld dårlig forklaring :ermm:

Endret av Slettet+142
Lenke til kommentar
Videoannonse
Annonse
hey..

 

holder på å lese en bok om C++ no, men eg e utolmodig og har derfor delvis vansker med å lese boken :p

 

noen som kunne hjulpet meg med å lage et program som kjører i bakgrunnen (på en linux maskin), og loope med 6 timers ventetid mellom hver gang den sjekker en xml-fil (eller noe som er skrevet i en html-fil?), hvis den er oppdatert, oppdaterer programmet en rad i en mysql-database?

 

fikk vite om C API for MySQL her

 

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

 

altså mer eller mindre de samme funksjonene du finner igjen i f.eks. PHP

6838190[/snapback]

 

 

tenker noe slikt:

 


//du trenger ikkje å nevne at eg har alt for mange header-filer inkludert altså :P

// #include < <mysql-bibliotek> >
#include <string>
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <cmath>
#include <ctime>
#include <iomanip>
#include <cctype>
#include <sstream>
#include <time.h>
#include <windows.h>
using namespace std;

int main(){
   
while( 1 == 1 ){
//sjekk xml eller html-side
//sjekk mysql-database-felt-i-tabell
//if(<resultat fra xml/html> != <resultat fra mysql-felt>){
//oppdater mysql-felt
//}//if
//sleep(21600);  // sekunder?
}//while
   
   return 0;
}

 

 

unnskyld dårlig forklaring :ermm:

7042977[/snapback]

 

om du ønsker å sjekke sist filen ble endret, sjekk `man 2 stat': "...time_t st_mtime; /* time of last modification */..."

 

om du ønsker å sjekke om hele innholdet på en HTML-side er det samme som innholdet i et database-felt er det .. uhm.. bare å bruke "standard SQL" til dette for å hente den lagrede HTML'en ut fra DBen i en streng og sammenligne

 

om du ønsker å sjekke en dato (et "dato-felt") i selve xml-fila brukes gjerne libxml2 til dette

 

..tror neppe jeg gidder å poste noen komplett løsning her..

Lenke til kommentar
Gjest Slettet+142

hmm...

 

eg vil sjekke om et felt i en xml-fil e oppdatert.

at den åpner xml-filen, sammenligner feltene UserStats->TotalKeyCount og UserStats->TotalMouseClicks med et felt i en database

 

hvis verdiene i xml-filen ikkje e lik verdien i feltene i db'n oppdaterer programmet de feltene :)

 

dette e mulig, sant?

 

EDIT: programmet skal kjøre i bakgrunnen, og den skal sjekke hver 6. time ^^

Endret av Slettet+142
Lenke til kommentar
hmm...

 

eg vil sjekke om et felt i en xml-fil e oppdatert.

at den åpner xml-filen, sammenligner feltene UserStats->TotalKeyCount og UserStats->TotalMouseClicks med et felt i en database

 

hvis verdiene i xml-filen ikkje e lik verdien i feltene i db'n oppdaterer programmet de feltene :)

 

dette e mulig, sant?

 

ja, klart .. bruk libxml2 .. eller om filen er like enkel som det der "hver gang" kan du parse den v.h.a. standard-stuff i STL .. dette er ikke kritisk m.t.p. hastighet; så vurder om du heller skulle brukt et mer passende språk som f.eks. python, perl, bash e.l.

 

EDIT:  programmet skal kjøre i bakgrunnen, og den skal sjekke hver 6. time ^^

7046909[/snapback]

 

ja, jeg glømte å nevne det der i ste; normalt når man starter programmet gjør man det slik:

 

lars@ibmr52:~$ ./program

 

..om du vil at det skal starte i bakgrunnen starter du slik, med en & på slutten:

 

lars@ibmr52:~$ ./program &

Lenke til kommentar
  • 2 uker senere...
Gjest Slettet+142
Hva med å bruke cron for å kjøre den hver 6. time, så slipper du å kode den delen inn i koden din.

 

Espen

7047237[/snapback]

jo :)

kunne faktisk tenkt meg å kjøre den hver time.. kan noen lage crond'en for meg?

har prøvd å finne litt ut, men den kjører ikkje når den skal.. har prøvd med crontab server, men ville enda ikke virke :(

 

hjeelp

Lenke til kommentar
Hva med å bruke cron for å kjøre den hver 6. time, så slipper du å kode den delen inn i koden din.

 

Espen

7047237[/snapback]

jo :)

kunne faktisk tenkt meg å kjøre den hver time.. kan noen lage crond'en for meg?

har prøvd å finne litt ut, men den kjører ikkje når den skal.. har prøvd med crontab server, men ville enda ikke virke :(

 

hjeelp

7129858[/snapback]

 

Om du ønsker å kjøre et program hver time så kan du legge det i katalogen `/etc/cron.hourly' (edit: ups -- rettet feil her) eller eventuelt opprette en symlink til programmet i den katalogen.

 

(edit: du kan foresten også legge script der; det trenger ikke være binaries)

 

edit2: ..det er mulig dette varierer litt mellom distro; dette er Ubuntu/Debian

Endret av oladunk10
Lenke til kommentar
Gjest Slettet+142

oki.. skal prøve ;)

EDIT:: har lagt inn filen i /etc/cron.hourly (Ubuntu) no.. venter bare på å se om den virker.. burde vel ta en time? :p

Edit2: Virket perfekt :D takk for hjelp :)

Endret av Slettet+142
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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...