Numerieke string vergelijken en weten welke nummers nieuw of verwijderd zijn

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Karel de grote

Karel de grote

13/04/2015 00:22:38
Quote Anchor link
Ik ben bezig om een script te maken die page ID's, welke een gebruiker in zijn profiel (op mijn website) in een veld toevoegd, naar een database schrijft.
Gebruikers kunnen op ieder moment meer page ID's toevoegen maar ook verwijderen.

Dit veld met page ID nummers wordt naar DB1 als een numerieke string geschreven, de nummers zijn gescheiden door een comma (bv 1,1050,10,256,4,8).
In mijn script lees ik de string uit de DB1 en converteer (als dat het goede woord is) naar een array. Daarna schrijft mijn script ieder nummer in zijn eigen rij in een table in DB2. (ja, er zijn inderdaad 2 verschillende databases)

Echter, ik weet niet goed hoe ik om moet gaan met veranderingen in de numerieke string. De gebruiker kan nummers toevoegen maar ook verwijderen. Deze verandering moeten correct naar DB2 worden geschreven.
De ge-update numerieke string moet vergeleken worden met de originele numerieke string en als er een nieuw nummer in zit moet alleen het niewe nummer naar DB2 worden geschreven, de rest staat er al dus hoeven we niet nog een keer toe te voegen.
Als er een nummer niet meer voorkomt in de string (dus de gebruiker heeft een page ID verwijderd) dan moet deze uit DB2 worden verwijderd.

Ik heb echter geen flauw idee hoe ik kan zien of een nummer in een string een nieuw nummer is of dat een nummer zich niet meer in de string bevindt.
Dus bv:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$myorigstring = "1,1050,10,256,4,8"; // de originele string
mynewstring = "1,1050,256,4,8,10789"; // de nieuwe string


10 is weg en 10789 is er bij gekomen. Maar hoe ik achter die twee nummers met een string vergelijking moet komen begrijp ik niet.
Ik kom niet verder dan dat ik te zien krijg dat de string niet matched, maar ik wil graag weten welk nummer er niet meer is en welk nummer nieuw is.

Ik hoop dat het bovenstaande een beetje duidelijk is en hoop dat iemand mij hiermee kan helpen, alvast bedankt!
 
PHP hulp

PHP hulp

21/05/2024 14:49:34
 
Thomas van den Heuvel

Thomas van den Heuvel

13/04/2015 00:29:27
Quote Anchor link
Als je elke keer alle nummers meegeeft lijkt het mij veel makkelijker om eerst alle id's van gebruiker X te verwijderen en dan opnieuw toe te voegen?

Tenzij dit om 1 of andere technische reden niet kan?
 
Karel de grote

Karel de grote

13/04/2015 03:12:55
Quote Anchor link
Ja, daar had ik zelf ook aan gedacht.
Ik ging er echter zelf van uit dat dat een erg omslachtige manier was en uiteraard had ik het idee (omdat dat voor mijzelf de makkelijkste oplossing is) dat het puur een oplossing is voor iemand zoals ik die de wat meer advanced coding skills van PHP mist ;)


Daar ik er niet van uit ga dat gebruikers iedere minuut deze page ID's gaan veranderen maar zo nu en dan zal er geen performance issue zijn als ik alles verwijder en opnieuw toevoeg. En als de string niet veranderd is hoeft alle data verder niet veranderd te worden.


Ik heb hier de hele zondag (op F1 race na) over na zitten denken, shema's tekenen/schrijven, zoeken met google en afgezien van jouw suggestie kon ik niets bedenken. Was te bang om een newbie route te volgen :)


Ik denk dat ik dit maar ga doen, maar als er mensen zijn die weten hoe je dit anders kan doen dan hoor ik het graag, is goed voor het verder verdiepen in PHP en DB stuff.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.