Archívum - 2012 - Fórum téma
február 28
Infinite sliding window
Sziasztok!
A következő a problémám:
Tegyük fel, hogy a kiválasztott elemünk a 10 és 3 elemnyi a környezet, ekkor a következő értékeket várom:
Ha a kiválasztott elem a 3, akkor a következőket:
Ha a kiválasztott elem a 18, akkor pedig következőket:
A fentit meg lehet valósítani 4 lekérdezéssel.És ebből szerver oldalon fel lehet építeni a kívánt listát.
De gondolom van itt valaki aki jobban ért az adatbázisokhoz, mint én, és meg tudja oldani MySQL alatt egy vagy két akár subquery-t használó lekérdezéssel.
■ A következő a problémám:
- Van egy táblám, elemekkel, amelyek meghatározott időrendben vannak, az egyszerűség kedvéért legyen az oszlop neve id és az értékek pedig egész számok.
- Szeretném lekérdezni a meghatározott elem környezetében levő elemeket egy kis csavarral
- Ha nincs elég elem a kiválasztott előtt, akkor a lista végéről kellene pótolni az elemeket.
- Ha nincs elég elem a kiválasztott után, akkor a lista elejéről kellene pótolni.
id | 1 | 3 | 5 | 7 | 9 | 10 | 12 | 14 | 16 | 18 | 21 | 24 |
---|
Tegyük fel, hogy a kiválasztott elemünk a 10 és 3 elemnyi a környezet, ekkor a következő értékeket várom:
5, 7, 9, *10*, 12, 14 16
.Ha a kiválasztott elem a 3, akkor a következőket:
21, 24, 1, *3*, 5, 7, 9
.Ha a kiválasztott elem a 18, akkor pedig következőket:
12, 14, 16, *18*, 21, 24, 1
. (A *-gal csak azt jelölöm, hogy az a kiválasztott, de a környezetére van csak igazából szükségem).A fentit meg lehet valósítani 4 lekérdezéssel.
SELECT id FROM `test` WHERE id > X ORDER BY id ASC LIMIT 3;
SELECT id FROM `test` WHERE id < X ORDER BY id DESC LIMIT 3;
SELECT id FROM `test` ORDER BY id DESC LIMIT 3;
SELECT id FROM `test` ORDER BY id ASC LIMIT 3;
De gondolom van itt valaki aki jobban ért az adatbázisokhoz, mint én, és meg tudja oldani MySQL alatt egy vagy két akár subquery-t használó lekérdezéssel.
Egy megadott sor "melletti" sorok
Egy már megadott sor előtti és utáni sorok lekérdezése.
Magyarázó kép mellékelve:
■ Magyarázó kép mellékelve:
február 27
Lekérdezés
Sziasztok!
Milyen módon tudnám a következő adatokat lekérni?
Tábla:
[kat_id][kat_nev][kat_tip][kat_szuloid]
[kat_id] - ID
[kat_nev] - kategória neve
[kat_szuloid] - melyik kategóriához tartozik
-------------------------------------------------------
A webshopban az alábbi kategória-rendszerem van pl:

-------------------------------------------------------
A kérdés, hogyan tudom lekérni adatbázisból, hogy amikor felveszek egy terméket kérdezze meg azt, hogy melyik kategória annak van -e alkategóriája és annak van -e további alkategóriája.....
gondolom valami while ciklus de nem jövök rá, hogyan tudnám ezt addig folytatni ameddig lekéri az összeset.
Köszi: soma
■ Milyen módon tudnám a következő adatokat lekérni?
Tábla:
[kat_id][kat_nev][kat_tip][kat_szuloid]
[kat_id] - ID
[kat_nev] - kategória neve
[kat_szuloid] - melyik kategóriához tartozik
-------------------------------------------------------
A webshopban az alábbi kategória-rendszerem van pl:

-------------------------------------------------------
A kérdés, hogyan tudom lekérni adatbázisból, hogy amikor felveszek egy terméket kérdezze meg azt, hogy melyik kategória annak van -e alkategóriája és annak van -e további alkategóriája.....
gondolom valami while ciklus de nem jövök rá, hogyan tudnám ezt addig folytatni ameddig lekéri az összeset.
Köszi: soma
Unknown column 'Budapest' in 'field list'
Sziasztok,
van egy array-em,
$invoiceAddress = array("city" => "Budapest", "ZIP" => "1231" , "nameofaddress" => "Tokoli");
aminek a tartalmát be szeretném küldeni a DB-be. Így oldottam meg:
$query="INSERT INTO address (ID, ".implode(',',array_keys($invoiceAddress)).") VALUES ('$this->ID', ".implode(',',array_values($invoiceAddress)).")";
A DB-ben az oszlopok nevei egy az egyben egyeznek az array key-vel. Ezt a hibát kapom rá:
Unknown column 'Budapest' in 'field list'.
Kérdésem, hogy valami szintaktikai hiba van benne, vagy inkább valami elvi hiba? Mi a jó megoldás?
Csoma
■ van egy array-em,
$invoiceAddress = array("city" => "Budapest", "ZIP" => "1231" , "nameofaddress" => "Tokoli");
aminek a tartalmát be szeretném küldeni a DB-be. Így oldottam meg:
$query="INSERT INTO address (ID, ".implode(',',array_keys($invoiceAddress)).") VALUES ('$this->ID', ".implode(',',array_values($invoiceAddress)).")";
A DB-ben az oszlopok nevei egy az egyben egyeznek az array key-vel. Ezt a hibát kapom rá:
Unknown column 'Budapest' in 'field list'.
Kérdésem, hogy valami szintaktikai hiba van benne, vagy inkább valami elvi hiba? Mi a jó megoldás?
Csoma
Cache tiltása firefox alatt is html-ből?
Helo
Következő gondom lenne:
a web oldal meta tagjaiba ez szerepel:
<meta charset="utf-8">
<meta http-equiv="Cache-Control" content="maxage=20">
<META HTTP-EQUIV="expires" CONTENT="0">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
De sajnos a css és js fájlokat a gyorsítótárból tölti be. Hogyan lehetne tiltani Firefox, és Opera alatt is?
Egyelőre csak IE alatt működik
("maxage=20" direkt lett beállítva 20 as értékre tesztelés céljából)
■ Következő gondom lenne:
a web oldal meta tagjaiba ez szerepel:
<meta charset="utf-8">
<meta http-equiv="Cache-Control" content="maxage=20">
<META HTTP-EQUIV="expires" CONTENT="0">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
De sajnos a css és js fájlokat a gyorsítótárból tölti be. Hogyan lehetne tiltani Firefox, és Opera alatt is?
Egyelőre csak IE alatt működik
("maxage=20" direkt lett beállítva 20 as értékre tesztelés céljából)
float tizedeselválasztó
Üdv!
A következő jelenségbe futottam bele:
egy ideje a gépemen (és egyes szervereken) a float értékek tizedesvesszővel elválasztva jelennek meg a tizedespont helyett.Ez önmagában nem lenne gond, de mikor mondjuk egy számot floattá alakítva rakok adatbázislekérésbe (tudom, nem szabadna) akkor a mysql a vessző miatt csak a tizedesjel előtti részt kapja el. Az igaz, hogy a magyar helyesírási szabályzat szerint a vessző a helyes, csak erről a mysql nem tud.
Ez valami beállítás miatt van, feature, bug?
(A phpm Version 5.3.5-1ubuntu7.7 )
■ A következő jelenségbe futottam bele:
egy ideje a gépemen (és egyes szervereken) a float értékek tizedesvesszővel elválasztva jelennek meg a tizedespont helyett.
echo 1.3456 // 1,3456
Ez valami beállítás miatt van, feature, bug?
(A phpm Version 5.3.5-1ubuntu7.7 )
február 27
Cookie olvasása HTML keretben (PHP)
Sziasztok!
A következő lenne a problémám: Van egy HTML fájlom, miben van egy keret. A keretben egy PHP fájl van. A keretben lévő PHP fájl nem tudja olvasni a böngésző COOKIE-át.
Mit lehetne csinálni, hogy tudja olvasni?
■ A következő lenne a problémám: Van egy HTML fájlom, miben van egy keret. A keretben egy PHP fájl van. A keretben lévő PHP fájl nem tudja olvasni a böngésző COOKIE-át.
Mit lehetne csinálni, hogy tudja olvasni?
web oldal mentésének tiltása hogyan?
sziasztok
Egy olyan problémám merült fel, miszerint Nekem a weblapom 1 html fájl, és jónéhány külső js, css. Van arra valami kód hogy megakadályozzam a "böngésző-> fájl ->oldal mentése" parancs eredményét? Magyarán hogy így ne lehessen menteni az oldalt?
■ Egy olyan problémám merült fel, miszerint Nekem a weblapom 1 html fájl, és jónéhány külső js, css. Van arra valami kód hogy megakadályozzam a "böngésző-> fájl ->oldal mentése" parancs eredményét? Magyarán hogy így ne lehessen menteni az oldalt?
WYSIWYG HTML email küldéshez
Sziasztok!
Weblapon, (sablon alapján) szerkesztett HTML emailt kell kiküldetnem.
Melyik javascript WYSIWYG HTML szerkesztőt javasoljátok? TinyMCE?
Szívesen vennék bármilyen tapasztalatot, milyen buktatókra számíthatok?
Köszönöm!
■ Weblapon, (sablon alapján) szerkesztett HTML emailt kell kiküldetnem.
Melyik javascript WYSIWYG HTML szerkesztőt javasoljátok? TinyMCE?
Szívesen vennék bármilyen tapasztalatot, milyen buktatókra számíthatok?
Köszönöm!
Időzített futtatás cronból (sokszor)
Sziasztok,
Egy ideje fejlesztek php/mysql-ben egy rss olvasót, mert böngészőst szeretnék, de nem találtam olyat ami tetszene. Mindegy :)
A kód saját szerverről fut, hozzáférek mindenhez, tehát nem a környezet hátráltat.
Ez elképzelésem az volt (és ez is valósult meg), hogy a megadott rss fájlokat lementem lokális cachebe (sima filecachebe), majd onnan kiparseolom ami kell, azt mentem db-be.
Egyrészt lesz keresés, másrészt szerintem gyorsabb, mint mindig előszedni és kiparseolni, harmadrészt pedig a folytatólagosság is szempont.
Az rss fájlok ugye limittel vannak, ha egy hétig nem töltöm le, akkor kiesnek a régi bejegyzések. Mivel nem szeretnék ilyen lyukat, ezért fut a cron, ami letölti az rss fájlokat, és átrakja a db-be, amire szükségem van. Az utolsó 200 bejegyzést tartom meg, így lyuk sincs, és visszamenőlegesen is jó időre megvan minden.
A db-ben mentem, hogy mikor volt utoljára lekérve, a cron csak akkor tölti le, ha régebben mint 5 perc. Az oldal betöltéskor csak a db tartalmát jeleníti meg, nincs ilyenkor letöltés, mert erősen lassít, ha sok feedet kell feldolgozni. Az oldalak cachelve vannak, 5 perc után nyúl a db-hez.
A problémát ott látom, hogy több mint 100 feedet követek, és 5 perces a késleltetés. A cronos script úgy fut (percenként), hogy megnézi mennyi feed van összesen, ezt elosztja 5-el (esetünkben 100/5=20) és abban a percben 20 feedet kér le, és dolgoz fel (a lekérés random megy, tehát elméletben 5 perc alatt mind a 100 feed frissülni fog). Ez 100 feednél meg elmegy, de mondjuk 20 embernél fejenként 100 feeddel: 2000 feednél már percenként 400 lesz, ami gond. Persze ez a véglet, hogy mindenkinél más feed van.
Remélem nagyjából érthető.
5 perc szerintem még kibírható késleltetés. Hogy oldható meg, hogy nagyobb számú feednél is le tudjam kérni úgy hogy a szerver se dől össze? Vagy egyéb ötlet a megvalósításra? Nem mondom hogy ez a tökéletes megoldás, de jobb nem jutott eszembe.
A több vas alárakása egyelőre nem opció.
Egy ideje fejlesztek php/mysql-ben egy rss olvasót, mert böngészőst szeretnék, de nem találtam olyat ami tetszene. Mindegy :)
A kód saját szerverről fut, hozzáférek mindenhez, tehát nem a környezet hátráltat.
Ez elképzelésem az volt (és ez is valósult meg), hogy a megadott rss fájlokat lementem lokális cachebe (sima filecachebe), majd onnan kiparseolom ami kell, azt mentem db-be.
Egyrészt lesz keresés, másrészt szerintem gyorsabb, mint mindig előszedni és kiparseolni, harmadrészt pedig a folytatólagosság is szempont.
Az rss fájlok ugye limittel vannak, ha egy hétig nem töltöm le, akkor kiesnek a régi bejegyzések. Mivel nem szeretnék ilyen lyukat, ezért fut a cron, ami letölti az rss fájlokat, és átrakja a db-be, amire szükségem van. Az utolsó 200 bejegyzést tartom meg, így lyuk sincs, és visszamenőlegesen is jó időre megvan minden.
A db-ben mentem, hogy mikor volt utoljára lekérve, a cron csak akkor tölti le, ha régebben mint 5 perc. Az oldal betöltéskor csak a db tartalmát jeleníti meg, nincs ilyenkor letöltés, mert erősen lassít, ha sok feedet kell feldolgozni. Az oldalak cachelve vannak, 5 perc után nyúl a db-hez.
A problémát ott látom, hogy több mint 100 feedet követek, és 5 perces a késleltetés. A cronos script úgy fut (percenként), hogy megnézi mennyi feed van összesen, ezt elosztja 5-el (esetünkben 100/5=20) és abban a percben 20 feedet kér le, és dolgoz fel (a lekérés random megy, tehát elméletben 5 perc alatt mind a 100 feed frissülni fog). Ez 100 feednél meg elmegy, de mondjuk 20 embernél fejenként 100 feeddel: 2000 feednél már percenként 400 lesz, ami gond. Persze ez a véglet, hogy mindenkinél más feed van.
Remélem nagyjából érthető.
5 perc szerintem még kibírható késleltetés. Hogy oldható meg, hogy nagyobb számú feednél is le tudjam kérni úgy hogy a szerver se dől össze? Vagy egyéb ötlet a megvalósításra? Nem mondom hogy ez a tökéletes megoldás, de jobb nem jutott eszembe.
A több vas alárakása egyelőre nem opció.