Avatar billede expnet Seniormester
13. februar 2011 - 15:22 Der er 7 kommentarer og
1 løsning

Register opdateingen?

Hej Eksperter.

Jeg henter nogle datarer fra en anden side/server hvor jeg modtager datarerne som en Array();

Eksempel: (array fra ude fra):

$OutSite = array('Number' => '1', 'name' => 'testnavn', 'Email' => 'test@test.dk', 'Address' => 'testvej 1');

Min mysql database har disse felter:
number, name, email, Address, status

jeg vil høre om det er muligt at lave et tjek på om datarerne er rettet i databasen eller på siden's array

--

Håber der er nogle der har et bud på hvordan man kan holde styr på hvor der blvier opdateret

Med venlig hilsen
Expnet
Avatar billede jakobdo Ekspert
13. februar 2011 - 15:43 #1
Har du et felt i din db som er unikt?
F.eks. name eller email?
Hvis ja, så er det vel at lave en søgning og sammenligne de data du modtager med samme række i db.

$q = mysql_query("SELECT * FROM tabel_navn WHERE email = OutSite['Email'] LIMIT 1");
if(mysql_num_rows($q)==1){

Så skal du sammenligne data på tværs af array og dit udtræk fra db.

}
Avatar billede expnet Seniormester
13. februar 2011 - 16:13 #2
hej jakobdo

Number er unikt og kan ikke rettes når det er oprettet..

det problem jeg har er at jeg ikke lige kan se koden for mig hvordan jeg tjekker om det er mysql datarene eller om det er ude fra ext. side at datarene er blevet rettet..

det er lige hvordan man kan lave det

Håber det giver en forståelse..
Avatar billede jakobdo Ekspert
13. februar 2011 - 16:18 #3
Du skal jo først bestemme hvad der skal være gældende.
For du kan ikke se på det data du viser her, om data er rettet på nettet eller i din db.

Lad os f.eks. antage:

Du har følgende i din database:

1, expnet, exp@net.dk, exp gade 2, status

Fra den anden side får du:

1, expnet, exp@net.dk, exp gade 3, status

Og der kan du netop ikke se om der er nogle som har rettet i din db, så der tidligere stod 3, eller om det er data på nettet der er rettet fra 2 til 3.
Du bliver nok nød til at have et timestamp, så nyeste evt. er gældende.

Men det er noget du selv skal bestemme, jeg kan ikke fortælle dig det. :o)
Avatar billede expnet Seniormester
13. februar 2011 - 21:56 #4
jeg vil takke dig for at du giver at prøve at hjælpe mig..

Jeg har mulighed for at lave flere felter i mysqlen hvis det gør det mener for dig at give et bud hvordan jeg måske kan lave en registrering på om der er nye data'er fra siden eller om de er blevet opdateret i selve mysql db'en
Avatar billede jakobdo Ekspert
13. februar 2011 - 22:05 #5
Du skal først bestemme hvad der skal være gældende?
1) Er det altid DB som bestemmer?
2) Den "anden" side som bestemmer?
3) Eller er det altid den nyeste som bestemmer?
1: Så skal du gøre den "anden" side obs på hvis data ikke er ens.
2: Så skal du bare opdatere din DB med de info du får fra den "anden" side.
3: Opdater db eller den "anden" side med de info som er nyest. (dette kræver du tilføjer f.eks. et felt at typen: datetime og sætter det = NOW() hver gang der bliver ændret data det ene eller andet sted)
Avatar billede expnet Seniormester
07. januar 2012 - 12:24 #6
jakobdo -> ligger du et svar så du kan få nogle point da jeg også fik lidt hjælp her fra også til min løsning
Avatar billede jakobdo Ekspert
07. januar 2012 - 21:51 #7
Svar!
Avatar billede jakobdo Ekspert
08. januar 2012 - 21:11 #8
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester