- Samsung Galaxy Watch7 - kötelező kör
- Netfone
- Telekom mobilszolgáltatások
- One mobilszolgáltatások
- Több újítással támad a Xiaomi Redmi 3s
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy A54 - türelemjáték
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Apple Watch Ultra - első nekifutás
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
Új hozzászólás Aktív témák
-
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); -
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). -
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)...
-
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".
-
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 -
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 -
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 -
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
-
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 DESC -
-
-
válasz
jattila48 #20011 üzenetére
POSIX rendszerekben a visszatérési érték 0-255 között lehet (vélelmezhetően 8-bites rendszerekhet való kompatibilitási okok miatt).
Az int mérete rendszerenként más és más, általában a rendszer natív kódszélességét jelenti (x86 rendszereken 32 bit, 64 bites rendszereken lehet 64 bit, de pl 8 bites rendszereken csak 8 bit). A word (modern rendszerekben long) dupla int hosszú.256-ból úgy lesz 0, hogy a 256-tal (8bit) való maradékos osztás eredményét adja vissza a rendszer - illetve a visszatérési érték RETVAL & 0xff
-
válasz
zsolti_20 #19915 üzenetére
És az adott rendszerre csak ez az egy szkriptnyelv érhető el, vagy ez tud valami olyat, amire feltétlenül szükséged van?
Amúgy itt két reference doksi, ebben példák is vannak az támogatott parancsok használatára:
https://www.ericom.com/doc/TechnicalReferences/PTPSLReferenceWC.pdf
https://www.ericom.com/doc/TechnicalReferences/PTPSLReference.pdf -
válasz
zsolti_20 #19911 üzenetére
Első blikkre nekem semennyire, elb@ egy szkriptnyelv ez...
- zárójel és macskaköröm helyett {}
- space, mint lista-elválaszó
- kiértékelést expr hívásba kell tenni
- egy csomó hívás szubrutinként működik belső változókkal, ami a felhasználói oldalról nem elérhetőÍgy kb rémálomnak tűnik.
-
válasz
hiperFizikus #19909 üzenetére
1) Van kliens és szerver oldali JS. Szerver oldali JS kb ugyanúgy működik mint a php, tehát a kliens által megkapott HTML+szkript (legtöbbször JS) kód legenerálásában játszanak szerepet. A JS korlátozottabban, a PHP jobban hozzáfér a futtató környezethez (pl fájlok írása-olvasása) - természetesen ez konfiguráció-függő (pl php-ban tilva lehetnek bizonyos OS parancsok, így a fájlműveletek is).
https://www.php.net/manual/en/refs.fileprocess.file.php -
válasz
instantwater #19888 üzenetére
VPN a legtöbb vállalati proxy-n nem megy át. Ahol átmegy (de megtalálják), ott könnyen kívül találja magát az ember...
-
válasz
RedHarlow #19815 üzenetére
Nem akarom linkelni, amit hárommal ezelőtt írtam... DE az alábbi hibák vannak:
- ellenőrizetlen input
- összfűzött sql
- fn később definiált, mint a hívás
- nem az eredményt adod vissza, hanem a prepared plsql statement-et (és nem is futtatod le)helyesen kb így (fejből, nem ellenőriztem):
function FillTable($query, $bind_array)
{
include 'connect/connect.php';
static $stmt;
$stmt = oci_parse($connect, $query);
foreach ($bind_array as $key => $value){
oci_bind_by_name($stmt, $key, $value);
}
oci_execute($stmt, OCI_DEFAULT);
return oci_fetch_array($stmt, OCI_ASSOC);
}meghívása:
$query = "SELECT * FROM TANULO WHERE SYS_DATE = :td'";
$search_result = FillTable($query, array(":td" => $_POST['valueToSearch'])); -
válasz
RedHarlow #19811 üzenetére
$stmt = $mysqli->prepare('SELECT * FROM TANULO WHERE SYS_DATE = ?');
$dat = date("Y-m-d");
$stmt->bind_param('s', $dat);
$reslt = $stmt->execute();Amúgy meg, csak hogy magamat idézzem:
https://itcafe.hu/tema/php_kerdesek_2/hsz_10152-10152.html -
válasz
radi8tor #19690 üzenetére
Nézd meg, hogy nincs-e kétszer include-olva ez a fájl. Biztos jó implementáltad?
if ( !function_exists( 'geoip_country_name_by_name_v6' ) ) {
require_once '/geo/geoip.inc.php';
}
// The gi.
$gi = null;
// The name.
$name = '';
// NOTICE! Understand what this does before running.
$result = geoip_country_name_by_name_v6($gi, $name); -
válasz
MasterHUn #19497 üzenetére
html4+js-vel már gyakorlatilag bármilyen csillivilli felületet meg lehet csinálni. Persze Java-ban könnyebb grafikus felületet megcsinálni (illetve sokkal inkább ablakos felületnek néz ki), de azonos funkcionalitás elérhető JS segítségével is. Az egyetlen, amiben a Java többet tudhat, az a konkrét OS-sel való együttműködés. JS-ben biztonsági okokból jóval több korlát van - pl nem éri el közvetlenü a fájlokat a felhasználó gépén.
Ha a funkcionalitáshoz mondjuk a felhasználó gépén levő fájlok kellenek, azt a felhasználónak kézzel (pl drag&drop, vagy a file upload input formon) fel kell töltenie ellentétben a Javával, ami - megfelelő bizonsági beállítások mellett - a felhasználó beavatkozása nélkül is hozzáfér az összes meghajtóhoz és fájlokhoz. -
-
válasz
gilfoyle #19433 üzenetére
Milyen OS van a lekérő gépen, fájlba kell elmenteni a json-t, mire használod?
Windowson megoldható ez - plusz program telepítése nélkül - vbscripttel, esetleg poweshellel is:
VBS:Dim url, fileName, req
url = "http://kiszolgaloszerver/phpfile?param1=xx¶m2=yy"
fileName = "c:\temp\file.json"
Set req = CreateObject("Msxml2.XMLHttp.6.0")
req.open "GET", url, False
req.send
If req.Status = 200 Then
With CreateObject("ADODB.Stream")
.Type = 1 'adTypeBinary
.Open
.Write req.responseBody
.SaveToFile fileName
.Close
End With
End If
Set req=Nothing -
-
válasz
adika4444 #19373 üzenetére
Kérdés, hogy változhat-e a jövőben platformok száma. Ha igen, akkor célszerű inkább linkelt táblában tartani, hogy mihet elérhető. Ha nem akkor lehet külön mező platformonként.
Az utóbbi eset azért lehet problémásabb, mivel ennek a módosítása csak a tábla sémájának változtatásával lehetséges.Esetleg lehet még bit típusú mezőben tárolni, mint flag, de ennek feldolgozása nehezebb (szvsz) mint egy linkelt tábláé.
-
Mi lenne, ha a beillesztett kódok rendesen lennének indentálva? Persze tudom, a kód gomb használatának is már örülnöm kéne...
-
válasz
trisztan94 #19001 üzenetére
Ezt találtam neked - nem egy mai cikk, de indulásnak talán jó lesz: [link]
-
Igazából nem igazán értem, amit PM-ben írtál - valahogy nem tudom elképzelni, hogy mit és hogyan szeretnél megvalósítani.
Honnan jönnek a számok a gyártóhoz, típushoz, altípushoz?
Miért kell ezeket összefűzni, hova lesz ez az összeillesztett kód beillesztve és miért?
Vagy ez csak egy keresőfeltételbe megy?
Vagy ezt az összefűzött stringet csak valahogy a további választhatók szűréséhez szeretnéd hosználni? -
Milyen adatbázisod van a php mögött?
Ja és hogy adsz értéket a Gyártó / Típus / Altípus változóknak?Valahogy így tudom elképzelni a kód generálást:
$rendeles_szam = 'Netes_2017_012345'; // valahogy generalva
$darab = 2; // formrol
$gyarto = 1; // formrol - list - BMW := 1
$tipus = 3; // formrol - list - 320d := 3
$altipus = 4; // formrol - list - kombi := 4
$leltari = "{$gyarto}{$tipus}{$altipus}";
$stmt = $dbh->prepare("INSERT INTO RENDELES (rendeles_szam, lelteriszam, darab) VALUES (:rendeles_szam, :leltari, :darab)");
$stmt->bindParam(':rendeles_szam', $rendeles_szam);
$stmt->bindParam(':leltari', $leltari);
$stmt->bindParam(':darab', $darab); -
válasz
PowerBuldog #18505 üzenetére
Ez oké, de ha valami problémájuk lesz és majd mégis szeretnének php verziót váltani, akkor majd pont emiatt nem fogják tudni. Akkor persze majd téged szidnak, hogy miattad nem lehet változtatni.
-
válasz
PowerBuldog #18501 üzenetére
Nem. még nem jó teljesen:
has already been taken
-
válasz
bambano #18473 üzenetére
Tudod validálni az elkészült XML fájlt, hogy megfelel-e a sémának és be fogja-e fogadni a NAV.
Sémából nem tudsz XML fájlt generálni, azt csak arra tudod használni, hogy leellenőrizd, hogy a programod által létrehozott XML formailag megfelel-e az elvárásoknak.
Amire neked szükséged van az egy számlázó program, ami képes egy valid számlarendet tartalmazó adatbázisból létrehozni egy XML kimenetet. Az XSD nem egy transzformációs fájl (tehát nem lehet neki inputként beadni mondjuk egy CSV-t amiből képes XML-t generálni). A transzformációt (rossz esetben) neked kell megírni, az XML-t is neked kell legenerálni és kiküldás előtt az XSD-vel validálni, hogy a túloldalon (valószínűleg) fel fogják tudni dolgozni.
A legtöbb, amit tudsz csinálni az az, hogy van fent a neten pár free tool, amivel XSD-ből PHP class-t tudsz csinálni. Ezt a PHP class-t példányosítva és XML kimenetre küldve (és validálva) talán az lesz az eredmény, amit szeretnél. -
válasz
krisz67 #18415 üzenetére
Kérdés, hogy mire kellenek a kapcsolódási adatok. Felhasználónkét változhat a szerver, vagy az adatbázis? Vagy csak a felhasználónevet és jelszót kell bekérni? Miért nem lehet egyszer megadni (vagy miért nem paraméterezett, ha szeretnéd a felhasználónevet vagy jelszót beilleszteni a connection string-be).
-
válasz
fordfairlane #18401 üzenetére
Szerintem elég annyiszor leírni az utasítást, ahányszor végre kell hajtani. Nem kell itt ciklusokkal menőzni. Az Excel makró szerkesztő is így csinálja...
-
válasz
deedetette #18121 üzenetére
Visszaolvastam, de nem értettem meg.
Szerintem nem csak a php-ban, de html-ben is gondokkal küzdesz. -
válasz
deedetette #18118 üzenetére
Attól függ... Most betettelek téged egy tömbbe?
$emberek =array ('deedetette');
-
válasz
#68216320 #17800 üzenetére
bindValue(":valami_ertek", null, PDO::PARAM_INT);
esetleg
bindValue(":valami_ertek", isset($postValamiErtek) ? $postValamiErtek : null, PDO::PARAM_INT);
Ha 0 értéket szeretnél állítani, akkor esetleg:
bindValue(":valami_ertek", isset($postValamiErtek) ? $postValamiErtek : 0, PDO::PARAM_INT);
Új hozzászólás Aktív témák
- XFX RX-69XTATBD9 Xfx Radeon RX 6900 XT 16 GB GDDR6 videókártya csere Rtx 4070Ti
- AKCIÓ!!! GAMER PC: RYZEN 5 4500-5600X +RX 9060XT/9070/9070XT +16-64GB DDR4! GAR/SZÁMLA!!!
- AKCIÓ!!! DDR5 GAMER PC: RYZEN 5 8400F/9600X +RX 9060XT/9070/9070XT +16-64GB DDR5! GAR/SZÁMLA!!!
- Asus X299 TUF / Beszámítás OK!
- AKCIÓ!!! GAMER PC: RYZEN 7 5700/5800X +RX 9060XT/9070/9070XT +16-64GB DDR4! GAR/SZÁMLA!!!
- HP EliteBook 840 G8 i5-1135G7 16GB 512GB 1 év garancia
- HIBÁTLAN iPhone 13 mini 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3041, 96% Akkumulátor
- Bowers/Wilkins Px7 S2 fejhallgatók
- Samsung Galaxy A9 2018 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! ASUS B450M R5 3500X 16GB DDR4 500GB SSD RTX 2060 Super 8GB Zalman N5 Zalmann 600W
Állásajánlatok
Cég: FOTC
Város: Budapest