- Akciófigyelő: Humble Games Bundle - Nightdive FPS Remasters
- Call of Duty: Modern Warfare III - Új szezon, újabb ingyenes hétvége jön
- Hunt: Showdown - Jön az engine csere, befutnak az újgenerációs verziók
- Steamre tart a Crime Boss: Rockay City
- The Witcher - Befutott a TV sorozat folytatásának első rövid kedvcsinálója
Új hozzászólás Aktív témák
-
sztanozs
veterán
válasz Agostino #20253 üzenetére
Célszerű az adatbázisban megírni azonos nevű view-kat úgy hogy már jól számoljanak és php-ból csak a különböző adatbázisokban levő view-kat query-zni.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz don_peter #20265 üzenetére
Amúgy szerintem:
SELECT
t.id,
t.title,
fu.datum,
u.nick
FROM
(SELECT
*
FROM
forum_uzenetek
GROUP BY
topik_id
HAVING
datum = max(datum) ) fu
LEFT JOIN topik t ON
fu.topik_id = t.id
LEFT JOIN users u ON
u.id = fu.user_id
ORDER BY
fu.datum DESC
LIMIT 10JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz don_peter #20268 üzenetére
szerintem az volt a gond, hogy a fu és a f táblában is van datum mező. Eddig a fu.datum-ot vette fel, de szerintem most az f-datum-ot (de mivel nem látoma tábláidat így csak találgatok). Egyébkéntsikerült kipróbáűlni az átlalam javasoltat? ha belülre teszed a limitet (és biztos ami biztos kétszer rakod sorrendbe akkor sokkal olcsóbb a query):
SELECT
t.id,
t.title,
fu.datum,
u.nick
FROM
( SELECT
*
FROM
forum_uzenetek
GROUP BY
topik_id
HAVING
datum = max(datum)
ORDER BY
datum DESC
LIMIT 10) fu
LEFT JOIN topik t ON
fu.topik_id = t.id
LEFT JOIN users u ON
u.id = fu.user_id
ORDER BY
fu.datum DESCJOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz don_peter #20270 üzenetére
Esetleg, ha tényleg MariaDB (ver 10.2+)SELECT * FROM
(
SELECT
t.id,
t.title,
fu.datum,
u.nick
RANK() OVER (PARTITION BY topik_id ORDER BY datum DESC) rank
FROM forum_uzenetek fu
LEFT JOIN topik t ON fu.topik_id = t.id
LEFT JOIN users u ON fu.user_id = u.id) temp
WHERE rank = 1
ORDER BY datum DESC
LIMIT 10Mostz látom mysql 5.7 -ott még nincs window function
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz don_peter #20274 üzenetére
Talán:
SELECT
t.id, t.title, fu.datum, u.nick
FROM
forum_uzenetek fu
INNER JOIN (
SELECT topik_id, MAX(datum) AS datum
FROM forum_uzenetek GROUP BY topik_id) max USING (topik_id, datum)
LEFT JOIN
topik t ON fu.topik_id = t.id
LEFT JOIN
users u ON fu.user_id = u.id
ORDER BY
datum DESC
LIMIT 10[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz don_peter #20279 üzenetére
Inner join leszűkíti a találatokat azokra (és csak azokra) az elemekre, amelyek egyeznek - tehát ahol a topik_id és dátum páros az, amit a belső selectben kitúrtál. IUgazából a te esetedben mindhol lehetne inner join-t használni, hiszen a biztos kell lenni egyezésnek userekre és topikokra is.
Amúgy nincs abban a táblában egy ID mező (ami szigorúan emelkedő)? akkor talán egy kicsivel még egyszerűbb (és gyorsabb) volna, és szerintem belülre is rakható a Limit, az is csökkentené a terhelést:SELECT
t.id, t.title, fu.datum, u.nick
FROM
forum_uzenetek fu
INNER JOIN (
SELECT
MAX(id) AS id
FROM
forum_uzenetek
GROUP BY
topik_id
ORDER BY
id DESC
LIMIT 10) m USING (id)
INNER JOIN
topik t ON fu.topik_id = t.id
INNER JOIN
users u ON fu.user_id = u.id
ORDER BY
datum DESC[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Igen, de modern webszerverek esetében már csak a rosszul megírt modulokban, paraméterben átadva működik.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz RedHarlow #20315 üzenetére
Vagy adatbázis-oldalon csinálsz egy join-t, vagy kód oldalon ellenőrzöd, hogy az adott sor létrejön-e.
Adott hónapra SQL-lel:
set @year = 2021, @month = 1;
SELECT
a.Date,
IFNULL(b.osszeg, 0),
IFNULL(b.darabszam, 0)
FROM (
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(CONCAT(@year,'-',@month,'-',n)),'%Y-%m-%d') AS Date
FROM (
SELECT (((b4.0 << 1 | b3.0) << 1 | b2.0) << 1 | b1.0) << 1 | b0.0 AS n
FROM
(SELECT 0 UNION ALL SELECT 1) AS b0,
(SELECT 0 UNION ALL SELECT 1) AS b1,
(SELECT 0 UNION ALL SELECT 1) AS b2,
(SELECT 0 UNION ALL SELECT 1) AS b3,
(SELECT 0 UNION ALL SELECT 1) AS b4 ) t
WHERE n > 0 and n <= DAY(LAST_DAY(CONCAT(@year,'-',@month,'-',1)))) AS a
LEFT JOIN (
-- a te lekérdezésed itt kezdődik
SELECT
datum,
osszeg,
darabszam
FROM valami_tabla
-- a te lekérdezésed itt végződik
) b
ON a.Date = b.datum
ORDER BY a.Date[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Belerakod, hogy honnan mennyit szedjen és ezt át is adod:
SQL query végére becsűröd, hogy:
LIMIT $offset, $len
és csaak annyit kérsz le és onnan, ahonnan kell, csak kell egy prepare persze még bele...Persze lehet menni session irányba, de a HTTP alaptézise, hogy minden lekérdezés független, tehát a szerver és kliens között nem szükségszerűen van "shared data".
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Ezt sajnos nem tudom oldalakba szedni.
Dehogynem. Pontosan ezt szeretnéd, első oldal betöltése (results 1-4), görgetéskor második oldal betöltése (results 5-8), stb... Csak nem új oldalba jeleníted meg, hanem hozzácsapod egy DIV-hez.[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz TigerCat #20398 üzenetére
miért szenvedsz vele? (nbsp - non-breakable space, MS Wordben is tudsz ilyet, asszem Shift+Ctrl+Space)
Milyen szövegszerkesztő modult használsz (vagy melyik framework beépített szövegszerkesztője ez)?Amúgy ez nem PHP probléma, hanem javascript (felhasználói oldalon fut)...
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
jsonben átadni mindent szvsz antipattern, tessék használni inkább URI paraméterezést, HTTP Verb-öket és status code-okat: [link]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Nincs ezzel mit csinálni - nézd csak meg a hivatalos oldalt...
Note: To combat unwanted pop-ups, some browsers don't display prompts created in beforeunload event handlers unless the page has been interacted with. Moreover, some don't display them at all.
...
Note also, that various browsers ignore the result of the event and do not ask the user for confirmation at all. In such cases, the document will always be unloaded automatically. Firefox has a switch named dom.disable_beforeunload in about:config to enable this behavior. As of Chrome 60, the confirmation will be skipped if the user has not performed a gesture in the frame or page since it was loaded. Pressing F5 in the page seems to count as user interaction, whereas mouse-clicking the refresh arrow or pressing F5 with Chrome DevTools focused does not count as user interaction (as of Chrome 81).[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
-
sztanozs
veterán
Az anchor a végén (#...) asszem a kliensnek szól, ha adott oldalon van, akkor csak a kliens fogja megkapni (legfeljebb kliens oldali JS-el tudod szerintem feldolgozni megbízhatóan).
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
-
sztanozs
veterán
<?php
/* Entity crap. /
$input = "Fovič";
$output = preg_replace_callback("/(&#[0-9]+;)/", function($m) { return mb_convert_encoding($m[1], "UTF-8", "HTML-ENTITIES"); }, $input);
/* Plain UTF-8. */
echo $output;
?>JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Ja, elnéztem az entity-t, ez kell neked: [link]
$str = preg_replace_callback('/\\\\u([0-9a-fA-F]{4})/', function ($match) {
return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
}, $str);vagy
$str = preg_replace_callback('/\\\\u([0-9a-fA-F]{4})/', function ($match) {
return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UTF-16BE');
}, $str);JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
vsz logolásnál hibára fut, amit a környezet benyel és megszakad a lekérdezés.
próbáld meg a logolást berakni egy try-catch-be és megnézni tényleg hibára fut-e...JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Vsz rossz collate van beállítva a mezőre és keresésnél nem különbözteti meg az ékezetes és a nem ékezetes karaktereket.
[link][ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
1) The difference between utf8 and utf8mb4 is that the former can only store 3 byte characters, while the latter can store 4 byte characters. In Unicode terms, utf8 can only store characters in the Basic Multilingual Plane, while utf8mb4 can store any Unicode character.
Ez alapján a kiterjesztett karakterkészletbe tartozó unicode karakterek (vsz emoji, extended chinese meg más távolkeleti nyelvek) támogatottak pluszban.2) karakterszám nem változik, a tábla mérete fog nőni (bájtban), de jelentősen csak akkor, ha ki is használod.
A SO-s probléma pedig ez volt:Mistery solved! There was a bad installation/upgrade/config with mysql and utf8mb4 was not properly installed.
...
Sorry for the delay, I was enjoying my holidays MySQL (in my case MariaDB) was lacking the neccesary files so the encoding didn't exist. The files need to be compiled (I think recompiling with necessary flags) or reinstall a recent version. This happened on an old cent os 5 server, so in more recent versions this shouldn't happen, in fact I installed cent os 6.7 and utf8mb4 was detected without problems.3) ez jó, de ha _as keresést akarsz, akkor kénytelen leszel mégiscsak a _bin-t használni, ha az általad használt verzió még nem támogatja az _as_ci-t, és a _bin meg ugye nem _ci. Szóval azt kell eldöntened melyik fáj kevésbé.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz zapikanka #20618 üzenetére
pl titkosított config fájl, amihez a kulcsot/certificate-et a webserver felhasználói certificate store-ban tárolod.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Amit szeretnél az egy combos tervezési hibának tűnik. Gondold át hogy miiért szeretnéd meghívni azt, milyen paraméterekre van szükséged, hol keletkezik és annak megfelelően tervezd át a hivásokat.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Amennyiben a 23-féle forrás 24 féle képen állítja elő a dolgokat, úgy célszerű bevezeti egy abszrakciós szintet és írni minden forásra egy-egy feldolgozót az absztrakciós szint (illetve néhány kulcs-feldolgozó-függvény) újrafelhasználásával. Persze meg lehet oldani egyetlen giga-feldolgozóval is, de ebben az esetben, ha bármelyik forrás változik, akkor a feldolgó fércelése kihatással lehet más (nem érintett) forrás rutinjának a szétesésével.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
sokkal kényelmesebb és menedzselhetőbb lenne, ha lenne 1 feldolgozó szkriptem
Igazából az lenne a kényelmes, ha semmit nem kellene csinálnod. Valójában csak nincs kedved/időd újratervezni és megcsinálni, hogy tényleg jobban menedzselhető legyen.[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
DNS hiba nem ugyanaz, mint a HTTP 404. Persze simán lehet mind a kettő - de igazából még sokkal több lehetőség, például:
- 404 hiba
- más 4xx hiba (pl 401 - unauthorized)
- 5xx hiba
- 3xx (redirect)
- port/szerver nem elérhető
- dns resolve probléma[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Ha a tárhelyen van valami sql (vagy nosql) támogatás, akkor inkább azzal csinálnám meg, bár mondjuk egy fájl-olvasás/írás is elég robosztus megoldás kellene legyen - mondjuk nem thread-safe, szóval az lehet a gond.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Amennyiben megbízható a forrás, akkor gyártanék egy be nem mappelt DOM elemet és az innerHTML-be beleraknám a CDATA tartalmát. Onnantól már lehet rajta alkalmazni ezeket a DOM függvényeket.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
A megbízhatót úgy értem hogy ha lesz benne egy szkript tag akkor az szépen lefut amint bekerül az innerhtmlbe. Szóval ha biztonságilag megbízható…
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Mondjuk megnézem, hogy egy base64-encode-olt sztringben kogy keresel LIKE kulccsal...
Tablescan 4 president...
Amúgy nem értem ezt a JSON parát, simán lehet JSON mezőben még tagra is keresni, ráadásul még index is építhető rá (ha tudod, hogy pontosan mi alapján akarsz később keresni)...[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Tök felesleges B64-elni, ha egyszer egy paraméterezett query-ben úgysem lehet injektálni. Más ellen (pl XSS) meg nem véd. Csak szivatod magad és égeted az erőforrásokat (+125% tárhely, +CPU igény).
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
& lehet, hiszen az választja el az URL paramétereket. A többit (és mindent ami ASCII 7 felett van) viszont célszerű szűrni/konvertálni.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Akkor regex-el kapd el: [link]
$link='jAvascript';
echo $link . "\r\n";
$pattern = '/(&#(?:X[0-9a-f]*|0{0-8}*|{1-9}{0-9}*)(?!;))/i';
$replacement = '${1};';
$link = preg_replace($pattern, $replacement, $link);
echo $link . "\r\n";
$link = html_entity_decode($link, ENT_QUOTES);
echo $link . "\r\n";JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest