Archívum - Feb 15, 2009
adatbázis válltozásainak naplózása
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:
ugyan ez a kód updatéra is.
gondoltam array_diffel megkeresem a válltozásokat de nem jőn össze.
A kód:
köszönöm a segítséget.Arra is nyitott vagyok ha ezt adatbázis szinten is meg lehet oldani.
■ 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
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);
$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.
DBA függvények használata
Sziasztok!
Nagy gondban vagyok a dba függvényekkel. Próbáltam magamtól orvosolni a problémát, de sajnos nem megy. A gondom a következő:
A gépemre Windows XP op. rendszer alá az AppServer2.5.9-est telepítettem fel, hostnak localhostot adtam meg. (Továbbiakban próbálkoztam még Az EasyPHP-val és a WampServer-el is...) Végeredményben minden tökéletesen működik, csak ezeknél a fránya dba függvényeknél kapom az alábbi hibaüzenetet:
Warning: dba_open(./data/termekek.db,c) [function.dba-open]: Driver initialization failed for handler: db3: Permission denied in C:\AppServ\www\peldak\Hour 12\listing12.1.php on line 15
A dba_handlers() fgv. az alábbi elérhető adatbáziskezelőket adja vissza:
# cdb
# cdb_make
# db3
# inifile
# flatfile
php.ini-ben kivettem a megjegyzést a megfelelő sorok elől.
httpd.conf állományban szerintem minden rendben van.
pws-php5cgi.reg állomány tartalma így néz ki:
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map]
".php"="C:\\AppServ\\php5\\php.exe"
Szerintem ez is stimmt. Hozzá is adtam a regisztrációs adatbázishoz....
A google találatai szerint belefutottam egy bug-ba amit elvileg már javítottak...
Nos én le is töltöttem a php-debug-pack-5.2.5-Win32.zip állományt. Viszont a bibi, hogy itt minden kiterjesztés .pdb. És fogalmam sincs, hogy mit is csináljak velük... :-(
Vagy nem ez a baj? :-(
Jani
■ Nagy gondban vagyok a dba függvényekkel. Próbáltam magamtól orvosolni a problémát, de sajnos nem megy. A gondom a következő:
A gépemre Windows XP op. rendszer alá az AppServer2.5.9-est telepítettem fel, hostnak localhostot adtam meg. (Továbbiakban próbálkoztam még Az EasyPHP-val és a WampServer-el is...) Végeredményben minden tökéletesen működik, csak ezeknél a fránya dba függvényeknél kapom az alábbi hibaüzenetet:
Warning: dba_open(./data/termekek.db,c) [function.dba-open]: Driver initialization failed for handler: db3: Permission denied in C:\AppServ\www\peldak\Hour 12\listing12.1.php on line 15
A dba_handlers() fgv. az alábbi elérhető adatbáziskezelőket adja vissza:
# cdb
# cdb_make
# db3
# inifile
# flatfile
php.ini-ben kivettem a megjegyzést a megfelelő sorok elől.
httpd.conf állományban szerintem minden rendben van.
pws-php5cgi.reg állomány tartalma így néz ki:
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map]
".php"="C:\\AppServ\\php5\\php.exe"
Szerintem ez is stimmt. Hozzá is adtam a regisztrációs adatbázishoz....
A google találatai szerint belefutottam egy bug-ba amit elvileg már javítottak...
Nos én le is töltöttem a php-debug-pack-5.2.5-Win32.zip állományt. Viszont a bibi, hogy itt minden kiterjesztés .pdb. És fogalmam sincs, hogy mit is csináljak velük... :-(
Vagy nem ez a baj? :-(
Jani
mysql adatbázis sorok mezőinek táblázatba rendezése php
Sziasztok!
Mysql adatbázisból jönnek ki adatok, amik az alábbi php táblába kerülnek. Jelenleg a php tábla egy sorában 2 sql sor jelenik meg.
Eddik ok!
A gondom az, hogy az sql mezők nem egymás alatt kerülnek kiírásra,
hanem sorban.
Mit kell átírnom, hogy a mezők egymás alá krüljenek?
Pl. így.
| sql_sor1 | | sql_sor2 |
------------ ------------
| mezo1 | | mezo1 |
------------ ------------
| mezo2 | | mezo2 |
------------ ------------
| stb | | stb |
------------ ------------
A jelenlegi forrás:
$szamol = 1;
while($sor = mysql_fetch_array($eredmeny)) {
$akarmi1 = $sor["akarmi1"];
$akarmi2 = $sor["akarmi2"];
$akarmi3 = $sor["akarmi3"];
$akarmi4 = $sor["akarmi4"];
$akarmi5 = $sor["akarmi5"];
$akarmi6 = $sor["akarmi6"];
$akarmi7 = $sor["akarmi7"];
$akarmi8 = $sor["akarmi8"];
// hogy hány oszlop legyen...
if ($szamol>2) {
$adat.="
<tr></tr>
";
$szamol=1;
}
$adat .= "
<td>$akarmi1</td>
<td>$akarmi2</td>
<td>$akarmi3</td>
<td>$akarmi4</td>
<td>$akarmi5</td>
<td>$akarmi6</td>
<td>$akarmi7</td>
<td>$akarmi8</td>
";
$szamol++;
}
$html = "
<table border='1' width='400'>
<tr>
$adat
</tr>
</table>
";
print $html;
?>
Most valahogy így néz ki:
sql_sor1 | mezo1 | mezo2 | stb || sql_sor2 | mezo1 | mezo2 | stb |
sql_sor3 | mezo1 | mezo2 | stb || sql_sor4 | mezo1 | mezo2 | stb |
stb.
Ha tudtok segítsetek!
Üdv:
TT.
■ Mysql adatbázisból jönnek ki adatok, amik az alábbi php táblába kerülnek. Jelenleg a php tábla egy sorában 2 sql sor jelenik meg.
Eddik ok!
A gondom az, hogy az sql mezők nem egymás alatt kerülnek kiírásra,
hanem sorban.
Mit kell átírnom, hogy a mezők egymás alá krüljenek?
Pl. így.
| sql_sor1 | | sql_sor2 |
------------ ------------
| mezo1 | | mezo1 |
------------ ------------
| mezo2 | | mezo2 |
------------ ------------
| stb | | stb |
------------ ------------
A jelenlegi forrás:
$szamol = 1;
while($sor = mysql_fetch_array($eredmeny)) {
$akarmi1 = $sor["akarmi1"];
$akarmi2 = $sor["akarmi2"];
$akarmi3 = $sor["akarmi3"];
$akarmi4 = $sor["akarmi4"];
$akarmi5 = $sor["akarmi5"];
$akarmi6 = $sor["akarmi6"];
$akarmi7 = $sor["akarmi7"];
$akarmi8 = $sor["akarmi8"];
// hogy hány oszlop legyen...
if ($szamol>2) {
$adat.="
<tr></tr>
";
$szamol=1;
}
$adat .= "
<td>$akarmi1</td>
<td>$akarmi2</td>
<td>$akarmi3</td>
<td>$akarmi4</td>
<td>$akarmi5</td>
<td>$akarmi6</td>
<td>$akarmi7</td>
<td>$akarmi8</td>
";
$szamol++;
}
$html = "
<table border='1' width='400'>
<tr>
$adat
</tr>
</table>
";
print $html;
?>
Most valahogy így néz ki:
sql_sor1 | mezo1 | mezo2 | stb || sql_sor2 | mezo1 | mezo2 | stb |
sql_sor3 | mezo1 | mezo2 | stb || sql_sor4 | mezo1 | mezo2 | stb |
stb.
Ha tudtok segítsetek!
Üdv:
TT.
$_POST[] átadása másik fájlnak
Sziasztok,
Megoldható hogy a.php által megkapott $_POST[] tartalma átkerüljön b.php-be ?
b.php létrehoz egy form-ot amit, ellenőrzésre, végrehajtásra átad a.php-nek (HTML submit), a.php ezen különbözö ellenörzésket végez, ha hibátlan akkor eltárolja és header()-el valamilyen php-re ugrik. Ha valamilyen hibát talál az adatokban visszaadná ezt b.php-nek $_POST[]-al együtt, azért hogy usernek ne kelljen még1x begépelni az adatokat.
header()-nél olvastam hogy megoldható, de nem igazán akart működni.
■ Megoldható hogy a.php által megkapott $_POST[] tartalma átkerüljön b.php-be ?
b.php létrehoz egy form-ot amit, ellenőrzésre, végrehajtásra átad a.php-nek (HTML submit), a.php ezen különbözö ellenörzésket végez, ha hibátlan akkor eltárolja és header()-el valamilyen php-re ugrik. Ha valamilyen hibát talál az adatokban visszaadná ezt b.php-nek $_POST[]-al együtt, azért hogy usernek ne kelljen még1x begépelni az adatokat.
header()-nél olvastam hogy megoldható, de nem igazán akart működni.
Everything you know about CSS is wrong!
Az Everything you know about CSS is wrong! inkább jegyzet mint könyv, könnyen emészthető, egy ültő helyünkben elolvasható százoldalas, képernyőfotókkal teletűzdelt kiadvány. A provokatív cím mögött a szerzőpáros könyvében az Internet Explorer 8-cal elérkező kánaánt mutatja be; mindazt, amit idáig nem tudtunk használni – nevezetesen a CSS alapú táblázatos kialakítás – hamarosan elérhető lesz minden böngészőben.