Gegevens uitwisselen tussen 2 webservers
Allereerst natuurlijk een gelukkig nieuw jaar!
Ik zit met het volgende, wanneer een neef van mij naar een klant gaat, heeft hij een locale website op zijn pc waar hij alle gegevens in zet om dan na der hand op een andere pc ze weer te kunnen invullen om zo een rekening te maken.
Nu vroeg hij of het mogelijk is om wanneer hij een internetverbinding heeft via wifi, dus meestal 's avonds als hij weer thuis is, dan alle gegevens van die dag door te sturen naar de webserver waar de andere gegevens ook staan.
Het hoeft niet automatisch te gaan, maar is er een mogelijkheid om dit voor elkaar te krijgen?
Alvast bedankt,
Jules
sql export maken -> importeren ?
Wat Reshad zegt, of makkelijk via phpmyadmin de sync functie gebruiken?
De werking van het script, zou naar mijn mening, zou het volgende zijn:
1: Kijken welke gegevens nog niet zijn gesynct (misschien naar een veld zoeken met waarde nul?)
2: Gegevens opslaan in een andere tabel (tabel 2)
3: Gegevens van tabel 2 overschrijven naar de database van de andere website
4: In de eerste tabel de waarde nul naar 1 veranderen (zie stap 1)
Als dat mogelijk zou zijn, zou dat perfect zijn...
Jules
Bedankt voor je reactie. Het lijkt me een handige tool, maar is niet hetgeen wat ik zoek. Dat wat ik zoek is een php script wat de bewerking voor me uitvoerd.
Nu heb ik nog niet gedacht om te zoeken op "sync 2 mysql databases" en heb dat daarom dus toch maar even gedaan.
Ik geloof dat ik hiermee meer vooruit kom. Maar nu vroeg ik mij het volgende af.
Wanneer je een script gebruikt wat hierop lijkt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql = "SELECT * FROM client";
$res = mysql_query($conn,$sql);
while($row = mysql_fetch_object($res)){
$sql = "SELECT count(*) FROM clients WHERE id={$row->id}";
$res1 = mysql_query($connSecond,$sql);
if(mysql_num_rows($res1) > 0){
//Update second table
}else{
//Insert into second table
}
}
?>
$sql = "SELECT * FROM client";
$res = mysql_query($conn,$sql);
while($row = mysql_fetch_object($res)){
$sql = "SELECT count(*) FROM clients WHERE id={$row->id}";
$res1 = mysql_query($connSecond,$sql);
if(mysql_num_rows($res1) > 0){
//Update second table
}else{
//Insert into second table
}
}
?>
Zijn er dan speciale machtigingen nodig om te kunnen verbinden met de 2e database en is het veilig.
Tip zijn natuurlijk nog steeds altijd welkom!
Alvast bedankt,
Jules
http://stackoverflow.com/questions/626192/how-can-i-synchronize-two-database-tables-with-php (weet niet of je er iets aan hebt )
Gewijzigd op 03/01/2013 00:37:38 door php knipper
tsja...ik heb wel eens een script geschreven die twee databases via internet met elkaar synct...basically connect ie met twee databases en gaat dan iedere tabel af op zoek naar verschillen...ik heb een functie geschreven die een query genereerd die een hash per record genereerd die vrij weinig false positives oplevert als ik ze ga vergelijken...zo kun je dus inserten, updaten en deleten...is volledig auto en met jquery progressbar...misschien niet efficient geprogrammeerd, maar het doet zijn taak...met tabellen groter dan 600000 records kleine 10 tot 15 seconden...als je interesse hebt laat het maar ff weten...
Ik snap niet waarom je niet gewoon een online database maakt? Waar is er tegenwoordig geen wifi?
Chris - van de master-slave db had ik nog niet gehoord. Ik ga dit eens nakijken. Bedankt in ieder geval alvast voor de tip.
Henze - ik zal je zometeen een pm sturen. Alvast bedankt ;)
Stefan - de persoon in kwestie is een paardenarts die regelmatig in het buitenland zit. Om een internet abbo hiervoor af te sluiten is het denk ik te duur en ik denk dat je ook niet overal kan gaan vragen voor een wifi wachtwoord...