Archívum - Feb 2009
február 16
Rendur 2.2
Röptében módosítható és kipróbálható CSS/HTML/JavaScript, talán kicsit kényelmesebben, mint Firebuggal
■ Többértékű mezők elemkre bontása, feloldása.
Söprögetek még mindig a saját házam táján (http://weblabor.hu/forumok/temak/101074) és az elmúlt években szerzett tudás és tapasztalat alapján felfedeztem néhány jelentős hibát...
Elemeztem az adattábláimat és néhányban találtam egy két klasszikus fogyatékosságot így neki is álltam a többértékű mezők felbontásának, majd azok feloldásának.
El is jutottam egy egész egyszerű felépítéshez, azonban a lekérdezéssel megakadtam. Lehet, hogy nem a lekérdezés miatt nem jutok tovább, elképzelhető, hogy nem jól közelítem meg a kérdést!
Ha egy termékeket tartalmazó táblát feloldottam két táblára, úgy, hogy az egyik tábla tartalmazza a termékeket, a másik pedig a termék árakat (mivel lehet egy terméknek több különböző ára), akkor az elképzelésem szerint én olyan lekérdezést készítenék, ami lekérdez minden terméket a termék táblából, majd minden egyes termékhez megszerzi az árakat. előfordul, hogy egy terméknek csak 1-2 ára van, azonban van olyan is, amelyiknek 5.
Arra gondoltam, hogy készítek egy nézetet a két táblából ezen feltételek figyelembe vételével, és majd ebből szolgálom ki az adatigényt.
És itt jön a gondom! Amíg a termék és az ár egy táblában volt, addig a lekérdezés eredményében a termék és az árak egy rekordként jelentek meg, azaz mid a termék, mind az összes ár egy sorban volt. Igen, volt olyan, amikor egy terméknél a lekérdezés eredménye sok-sok üres mezőt tartalmazott.
Mit tegyek? Olyan lekérdezést erőltessek, aminek az eredménye egy olyan nézet tábla, mint amilyen az eredeti táblám volt, azaz minden ár egy sorban szerepel a termékkel, vagy létezik lekérdezési eljárásé, amivel olyan lekérdezést tudok csinálni, ahol a termék egy rekord lesz, de az ár mező mégis tartalmazza az összes termékhez fellelhető árat. Lehet, hogy badarság, de mintha a rekordban az ár mező tömb lenne.
Kérlek titeket mutassatok utat! Nem megoldást várok, csak tapasztalt sql programozók véleményét.
■ Elemeztem az adattábláimat és néhányban találtam egy két klasszikus fogyatékosságot így neki is álltam a többértékű mezők felbontásának, majd azok feloldásának.
El is jutottam egy egész egyszerű felépítéshez, azonban a lekérdezéssel megakadtam. Lehet, hogy nem a lekérdezés miatt nem jutok tovább, elképzelhető, hogy nem jól közelítem meg a kérdést!
Ha egy termékeket tartalmazó táblát feloldottam két táblára, úgy, hogy az egyik tábla tartalmazza a termékeket, a másik pedig a termék árakat (mivel lehet egy terméknek több különböző ára), akkor az elképzelésem szerint én olyan lekérdezést készítenék, ami lekérdez minden terméket a termék táblából, majd minden egyes termékhez megszerzi az árakat. előfordul, hogy egy terméknek csak 1-2 ára van, azonban van olyan is, amelyiknek 5.
Arra gondoltam, hogy készítek egy nézetet a két táblából ezen feltételek figyelembe vételével, és majd ebből szolgálom ki az adatigényt.
És itt jön a gondom! Amíg a termék és az ár egy táblában volt, addig a lekérdezés eredményében a termék és az árak egy rekordként jelentek meg, azaz mid a termék, mind az összes ár egy sorban volt. Igen, volt olyan, amikor egy terméknél a lekérdezés eredménye sok-sok üres mezőt tartalmazott.
Mit tegyek? Olyan lekérdezést erőltessek, aminek az eredménye egy olyan nézet tábla, mint amilyen az eredeti táblám volt, azaz minden ár egy sorban szerepel a termékkel, vagy létezik lekérdezési eljárásé, amivel olyan lekérdezést tudok csinálni, ahol a termék egy rekord lesz, de az ár mező mégis tartalmazza az összes termékhez fellelhető árat. Lehet, hogy badarság, de mintha a rekordban az ár mező tömb lenne.
Kérlek titeket mutassatok utat! Nem megoldást várok, csak tapasztalt sql programozók véleményét.
február 15
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.
február 15
Uninitialized string offset:
Szaiasztok!
egy kicsit elakadtam.
a kód hozzáférést figyeli adatbázisból,
Ha a hozzáférés csoport egyezik pl: "$rolegrp = "A";" a formhoz rendelt csoport egyikkével pl: "<input type="text" ...> A,B láthatja akkor megjeleníti a formon ha nincs benne akkor nem, vagy ha tiltott akkor sem.
A lényeg igazából nem is ez.
A lényeg:Uninitialized string offset:1 on line 53
és ez 28 alkalommal ismétlődik (ennyi a $rows száma)
mi a probléma ill szintaktikailag ill szemantikailag jó e az elképzelés.
egy kicsit elakadtam.
a kód hozzáférést figyeli adatbázisból,
Ha a hozzáférés csoport egyezik pl: "$rolegrp = "A";" a formhoz rendelt csoport egyikkével pl: "<input type="text" ...> A,B láthatja akkor megjeleníti a formon ha nincs benne akkor nem, vagy ha tiltott akkor sem.
A lényeg igazából nem is ez.
A lényeg:Uninitialized string offset:1 on line 53
és ez 28 alkalommal ismétlődik (ennyi a $rows száma)
mi a probléma ill szintaktikailag ill szemantikailag jó e az elképzelés.
Elküld gomb kattintás számláló
Sziasztok!
A következőben kérem segítségeteket. Szükségem lenne egy submit gombt txt alapon történő számlálására. Semmi extra, csak hogy hányan kattintottak a gombra.
<input type="image" src="mehet.gif" value="Submit" width="97" height="28" />
Ez indít egy külső php kódot, és ezt kellene számláltatni, de egy külső oldalon. Pl ha ez az index.php van, akkor egy szamalalo.htm-en kellene kimutatni.
Előre is köszönöm
SB
■ A következőben kérem segítségeteket. Szükségem lenne egy submit gombt txt alapon történő számlálására. Semmi extra, csak hogy hányan kattintottak a gombra.
<input type="image" src="mehet.gif" value="Submit" width="97" height="28" />
Ez indít egy külső php kódot, és ezt kellene számláltatni, de egy külső oldalon. Pl ha ez az index.php van, akkor egy szamalalo.htm-en kellene kimutatni.
Előre is köszönöm
SB