ugrás a tartalomhoz

adatbázis válltozásainak naplózása

aspirany · 2009. Feb. 15. (V), 16.26
Sziasztok!

Irhattam volna a mysql topikba,de most a php felöl közelítem meg a dolgokat.

Adott egy log tábla ahová triggerből kerülnek be az adatok.

pl:
BEGIN
INSERT INTO /*trigger@tablename_log_insert*/  
        activity_log/*t*/  
    SET  
        bizonylat  = NEW.iktatoszam,  
        tablename  = 'szamla',  
        activity   = 'update',
        user = NEW.modosito,  
        /*creator_id = @CURRENT_USER,*/  
           
 log_msg = CONCAT_WS('","',"",NEW.eredeti,NEW.bizherk,NEW.szlabeerk,
 NEW.bizbeerk,NEW.megnev,NEW.szallito,NEW.szlaszam,NEW.szlevelszam,NEW.fizmod,
 NEW.szlakiallitas,NEW.szlateljesites,NEW.szlafizhat,NEW.statusz,NEW.jovairoszla,
 NEW.afa,NEW.netto,NEW.brutto,NEW.afaosszeg,NEW.utalosszeg,NEW.utalnap,NEW.megjegyzes,
 NEW.ell,NEW.utalhat,NEW.utalmegjegyz,"");  
END


ugyan ez a kód updatéra is.

gondoltam array_diffel megkeresem a válltozásokat de nem jőn össze.

A kód:
$result = mysqli_query($link,"SELECT log_msg FROM activity_log WHERE tablename = '".$form."' AND  bizonylat = 'abc/2009'");
$rows = mysqli_num_rows($result)-1;

$versions = array();
while($row = mysqli_fetch_assoc($result))
       {
$versions[] = $row;

  }
 
 // print_r($versions);


$z=0;

//$tomb = array($versions[0]['log_msg']);//ekkor nem okés
//$tomb1 = array($versions[1]['log_msg']);//ekkor nem okés

$tomb = array("a","I","LEVÉL","2009-02-13","a","1","UTALÁS","2009-02-12","2009-02-12","2009-02-27","0","2");
$tomb1 = array("a","N","LEVÉL","2009-02-13","a","1","UTALÁS","2009-02-12","2009-02-12","2009-02-27","0","2");

print_r($tomb);
print "<br>";
print_r($tomb1);


//echo $versions[$z+1]['log_msg'];
$diff = array_diff($tomb,$tomb1);

print_r($diff);


köszönöm a segítséget.Arra is nyitott vagyok ha ezt adatbázis szinten is meg lehet oldani.
 
1

Biztos vagy Te ebben?

janoszen · 2009. Feb. 15. (V), 21.45
Biztos vagy benne, hogy szeretnéd ezt? Az adott táblád nagyon gyorsan nagyon nagyra fog nőni. Nem volna rossz, ha leírnád, hogy miért szeretnél Te ilyet, akkor talán hatékonyabban lehetne segíteni.
2

minden eseményt naplózni

aspirany · 2009. Feb. 15. (V), 22.33
Evvel teljesen egytértek, és tisztában vagyok.

Minden eseményt naplózni kellene.és visszamenőleg megőrizni.

Ki,mikor,melyik táblán,mit változtatott meg.

A táblákon létrehoztam egy létrehozó,létrehozás
modosító,modosítás oszlopokat.

Ebből a az első létrehozót időt ill utolsó modosító és időt megtudom.De ez nem elég
Köszönöm.
3

ha van más javaslat

aspirany · 2009. Feb. 15. (V), 22.34
Ha van más javaslat szívesen fogadom.

Köszönöm