Avaleht
uus teema   vasta Tarkvara »  WWW »  Muutmis ajalugu märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
toomasy
HV kasutaja
toomasy

liitunud: 26.12.2003



Autoriseeritud ID-kaardiga

sõnum 21.04.2009 15:06:07 Muutmis ajalugu vasta tsitaadiga

Vajan abi, et kuidas teha mõistlikult lehekülje muutmise ajalugu. Et siis, kui kastutaja midagi sisestab/muudab, siis antud tegevus salvestatakse baasi. Hetkel asi lahendatud, et algul salvestatakse INSERT lause ja pärast UPDATE laused, aga see ei tunud kuidagi mõistlik... Teiseks seda ma ei saa kasutajatele näidata.
Probleem selles, et kui mingis tabelis on 30+ lahtrit ja kasutaja ühte muudab kuidas ma kindlaks teen, et kasutaja just seda lahtrit muutis? Lehekülg php + mysql.

Ette tänades!
Toomas
Kommentaarid: 38 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 37
tagasi üles
vaata kasutaja infot saada privaatsõnum
Kernel
HV kasutaja

liitunud: 17.01.2002




sõnum 21.04.2009 16:45:28 vasta tsitaadiga

INSERT history tabelisse lehe ajaloo salvestamiseks on vägagi mõistlik lahendus. Sama kehtib ka 30+ lahtriga tabeli kohta. Hetkel ei ole piisavalt lähteandmeid, aga võiksid ka proovida oma andmebaasitabelite struktuuri kriitilise pilguga üle vaadata.
Kommentaarid: 27 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 25
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
iceincube
HV veteran
iceincube

liitunud: 18.11.2005




sõnum 22.04.2009 02:02:20 vasta tsitaadiga

history kirjete hoidmiseks võib kasutada ka ehk serialiseerimist kui on ühte history tabelsise vaja eri andme kirjeid kokku vaja viia.
Ja enne iga muudatust õige tabeslit võetakse see rida ja salvestatakse historysse.
Aga jah, lähte informatsiooni oleks rohkem vaja.
Kommentaarid: 39 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 37
tagasi üles
vaata kasutaja infot saada privaatsõnum
toomasy
HV kasutaja
toomasy

liitunud: 26.12.2003



Autoriseeritud ID-kaardiga

sõnum 22.04.2009 23:31:50 vasta tsitaadiga

Oletame, et on tabel mänguasjad kus on lahtrid id, nimi, seeria number, kogus, tootja firma. Nüüd kasutaja lisab uue mänguasja. Siis ajaloo tabelisse hetkel lisatakse kasutaja id, aeg ja lause INSERT INTO mänguasjad SET nimi='keegi', seeria='123',kogus='3' jne. Kui nüüd keegi toodet muudab, siis lisatakse ajaloo tabelisse kasutaja id, aeg ja lause UPDATE mänguasjad SET nimi='keegi', seeria='1234', kogus='3' jne.
Soov oleks, et kuidas salvestada ajaloo tabelisse ainult tehtud muudatus. Näite põhjal, siis et ajaloo tabelisse savestataks kasutaja id, aeg ja seeria='123' muutus seeria='1234'.
Loodan, et on vähe selgem icon_smile.gif
Kommentaarid: 38 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 37
tagasi üles
vaata kasutaja infot saada privaatsõnum
inzinz
HV kasutaja

liitunud: 26.01.2005




sõnum 23.04.2009 02:32:21 vasta tsitaadiga

Kui sellist asja tahad, siis pead tegema lisaloogikat salvestamise käigus:
1) pärid välja vanad andmed (peale submiti kuid enne kui baasi update teed)
2) võtad postitatud andmed ja võrdled vanade andmetega
3) ehitad kokku sql päringu kus uuendad ainult neid väljasid mis on muutunud (kui baasis kogus oli 3 ja postitatud on ka 3, siis võib lugeda mitte muutunuks, sql lausesse lisada pole vaja)
4) kuna muutunud väljade nimekiri ja endised ning uued väärtused on teada, saad logi tabelisse juba sisestada infot stiilis 'kogus: 3 => 4' vms, nii kuidas tahad

Mul endal on omatehtud activerecord tüüpi klass kasutusel (vahendab andmeid baasi ja muu koodi vahel stiilis $objekt->väljanimi = 'väärtus'; $objekt->Save() ), mis sedasama kontrolli asja teeb salvestamise käigus ja olen samasuguseks logimiseks ka kasutanud seda nagu sa tahad logida, seega kui vaja võin näidata ja kasutamist juhendada

_________________
Upload.ee - eestimaine failiupload
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
tanzanite
HV kasutaja
tanzanite

liitunud: 13.05.2006




sõnum 29.04.2009 19:32:55 Re: Muutmis ajalugu vasta tsitaadiga

toomasy kirjutas:
...kui mingis tabelis on 30+ lahtrit...
icon_eek.gif
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Muutmis ajalugu
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.