- Hová lett 1000 mAh?
- Rekord vékony lesz a Z Flip7 is
- Okosóra és okoskiegészítő topik
- Megjelent a Poco F7, eurós ára is van már
- Karaktere biztos lesz az első Nothing fejhallgatónak
- iPhone topik
- Milyen okostelefont vegyek?
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Nothing Phone (2) - több, mint elsőre látszik
Aktív témák
-
meone
tag
válasz
vakondka #4742 üzenetére
Köszi
Csak úgy látszik először nem nézetem alaposan körbe
Talátam egy tök egyszerűt íme:
$to = 'bob@barnyard.com';
$subject = 'Wakeup bob!';
$message = '<b>yo</b>, whassup?';
$headers = ''From: server@barnyard.com\r\n'' .
'X-Mailer: PHP/' . phpversion() . ''\r\n'' .
''MIME-Version: 1.0\r\n'' .
''Content-Type: text/html; charset=utf-8\r\n'' .
''Content-Transfer-Encoding: 8bit\r\n\r\n'';
// Send
mail($to, $subject, $message, $headers);
Ezt át alakítom és nekem tökéletesen meg fog feleni mivel csak szöveges üzeneteket akarok vele küldözgetni.
Köszi a segítséget. -
Tele von Zsinór
őstag
válasz
vakondka #4074 üzenetére
Így hirtelen ezt dobtam össze neked, nem túl összeszedett, de a lényeget elmondja:
mondjuk így néz ki a kapcsolódás:
require_once(''db-mysql.php''); //ez a db-settings.php-ből betölti a szerver adatait is
$db = new db_class(); //új példány
$db -> init(); //változók beállítása
//itt lehet felülbírálni a beégetett host-user-pass-dbname adatokat
if (!$db->connect()) //kapcsolódás, ha hiba, akkor false-al tér vissza
{
echo(''Hiba a MySQL szerverhez kapcsolodaskor!<br>'' . $db->error());
die();
}
query így történik:
$id = $db->query(sql);
egy egész számot ad vissza, később ezzel tudod lekérni a sorokat, pl így:
$row = $db->next_row($id);
de lekérheted csak a sorok számát is:
$num = $db->num_rows($id);
vagy egy tömbben az össes sort:
$all = $db->all_rows($id);
vannak ilyenek is, mint a $db->insert_id(), $db->error(), ez mind a megfelelő mysql függvényt burkolja be, hogy ne kelljen közvetlen azt meghívni
példányonként számolja, hány queryt hajtottál végre, ez a $db->querycounter változóban van
$db->escape($string) a mysql_real_escape_string-et burkolja
feature: minden adatbázis művelet előtt ellenőrzi a kapcsolatot, ha megszakadt, maximum ötször megpróbál újra kapcsolódni, csak utána ad hibát
ha kérdésed van, írj, nem tudom, ez mennyire érthető. -
Tele von Zsinór
őstag
válasz
vakondka #4070 üzenetére
Elment mailban az én osztályom, ha kérdés van, szintén mailban várom. A különbség annyi, hogy az elején kell egy $db = new db_class();, utána a megfelelő inicializáló utasítások (most nem tudom, nálam mik a nevek és mi a helyes sorrend), és utána lehet olyat, hogy $db->query(''blabla''), meg hasonlók. Ha kell küldök demot is.
-
cucka
addikt
válasz
vakondka #4064 üzenetére
még egy kis okosság így korán reggel:
ha igazán királyra és újrafelhasználhatóra akarod csinálni a függvénykönyvtáradat, akkor érdemes írni egy adatbázist reprezentáló osztályt. mondjuk kitalálod, hogy milyen függvényekre van szükséged egy adatbázis kezeléséhez, írsz egy absztrakt osztályt, amiből leszármaztatsz egy mysql adatbázis kapcsolat osztályt. ha később át akarsz térni mondjuk mysqli használatára, esetleg mysql helyett postgre, oracle alá kell írni valamit, neadjisten arra lesz szükséged, hogy odbc-n keresztül beszélgess az adatbázissal, akkor az ősből le tudsz származtatni egy olyan osztályt is.
ha jól csinálod meg az osztályt, akkor a kódod szép és tiszta lesz, eltűnnek belőle az adatbázis specifikus függvények. az, hogy a programod milyen adatbázist használ, attól függ, hogy melyik adatbázis-osztályodat példányosítod be. -
cucka
addikt
válasz
vakondka #4064 üzenetére
egyrészt nem túl szerencsés minden egyes lekérdezés előtt újra csatlakozni az adatbázishoz. másrészt egy hasonlót meg lehet írni sokkal elegánsabban is, mert ezt így nagyon kusza - van egy függvényed, ami visszatérhet mysql hibaüzenettel, mysql hibakóddal, sorok számával, az 'adat' dobozba pedig adatok helyett bepakolod a query által visszaadott resource id-t. normális esetben egy függvény egyvalamit ad vissza, ha valamilyen hiba történik, akkor pedig visszatér false-al.
nem mondom, működik így is, de php-ban pont hogy neked kell odafigyelni arra, hogy szép és olvasható kódra, mert a nyelv bizony támogatja az ilyen write only cuccok írását. igazából ez nem kötekedés hanem jótanács, úgy kell megírni a kódot, hogy később is ránézésre látszódjon, mit akar csinálni.
ah és mégvalami - a function-t magyarul függvénynek hívjuk, nem funkciónak. -
Tele von Zsinór
őstag
válasz
vakondka #3881 üzenetére
Tudja.
function myResize($o_file,$outputfilename,$maxwidth,$maxheight)
{
$image_info = getImageSize($o_file) ; // see EXIF for faster way
switch ($image_info['mime'])
{
case 'image/gif':
if (imagetypes() & IMG_GIF) // not the same as IMAGETYPE
{
$o_im = imageCreateFromGIF($o_file);
}
else
{
$ermsg = 'GIF images are not supported<br />';
}
break;
case 'image/jpeg':
if (imagetypes() & IMG_JPG)
{
$o_im = imageCreateFromJPEG($o_file);
}
else
{
$ermsg = 'JPEG images are not supported<br />';
}
break;
case 'image/png':
if (imagetypes() & IMG_PNG)
{
$o_im = imageCreateFromPNG($o_file);
}
else
{
$ermsg = 'PNG images are not supported<br />';
}
break;
case 'image/wbmp':
if (imagetypes() & IMG_WBMP)
{
$o_im = imageCreateFromWBMP($o_file) ;
}
else
{
$ermsg = 'WBMP images are not supported<br />';
}
break;
default:
$ermsg = $image_info['mime'].' images are not supported<br />';
break;
}
if (!isset($ermsg))
{
$o_wd = imagesx($o_im) ;
$o_ht = imagesy($o_im) ;
if ($o_ht >= $o_wd)
{
if ($o_ht > $maxheight)
{ $lamda = $maxheight / $o_ht; }
else
{ $lamda = 1; }
}
else
{
if ($o_wd > $maxwidth)
{ $lamda = $maxwidth / $o_wd; }
else
{ $lamda = 1; }
}
$t_ht = round($lamda * $o_ht);
$t_wd = round($lamda * $o_wd) ;
$t_im = imageCreateTrueColor($t_wd,$t_ht);
imageCopyResampled($t_im, $o_im, 0, 0, 0, 0, $t_wd, $t_ht, $o_wd, $o_ht);
imagePNG($t_im,$outputfilename);
imageDestroy($o_im);
imageDestroy($t_im);
}
return isset($ermsg)?$ermsg:NULL;
}
Egy php.net-en talált kód kicsit tuningolt változata. -
cucka
addikt
válasz
vakondka #3874 üzenetére
imagejpeg függvény paramétereivel mondhatod meg neki, hogy hova mentse a filet.
imagejpeg($image_p, 'atmeretezett.jpg', 85); esetén a megadott file-ba fogja menteni. persze ilyenkor fölösleges a content-type beállítás, mert az output bufferbe nem fog semmit küldeni.
mod: egyébként ezt a php manual imagejpeg függvényról szóló részében szépen leírja, én is onnan tudom
[Szerkesztve] -
Atic
tag
-
krokk
senior tag
válasz
vakondka #3737 üzenetére
köszi a választ neked is meg a többieknek is.
Másik kérdés.
Fórum jelen pillanatban úgy van, hogy egy oldalon van a hozzászólás és a lista is. Namost ha valaki beír egy hozzászólást de utána frissít akkor azt akár 2x vagy többször ugye újraküldheti és akkor beilleszti mindig.
2 féle módra tudok így hirtelen gondolni a megoldásra :
1. megnézem hogy van e már az adatbázisban ilyen.
2. külön oldalra rakni ahogy itt PH!-n is van és akkor nem fogja elküldeni.
átírni most nagyon nemszeretném hogy másik oldalon legyen. az 1. módszeren kívül tud valaki valami jobb módot? -
szicsu
őstag
válasz
vakondka #3712 üzenetére
Úgy néz ki ez tényleg megy
nem tudom, hog mi lehetett a hiba mert így én is probáltam, lehet hogy közrejátszott az akkori vérnyomásom
amikor egy olyan sql parancsot futatok amit nemismerek 100% an, azt először mindig megnézem phpMyAdminban, hogy mit is produkál....
Köszi szépen -
TIV
tag
válasz
vakondka #3667 üzenetére
preg_match a te barátod...
// gazdagép neve az URL-ből
preg_match(''/^(http:\/\/)?([^\/]+)/i'',
''http://www.php.net/index.html'', $matches);
$host = $matches[2];
// a gazdagépnév utolsó két része
preg_match(''/[^\.\/]+\.[^\.\/]+$/'',$host,$matches);
echo ''A domain név : ''.$matches[0].''\n''; -
Ryu
tag
válasz
vakondka #3281 üzenetére
''If set to '/', the cookie will be available within the entire domain. If set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in.''
Azaz, ha üres a path paraméter, akkor csak az aktuális könyvtár lesz az érvényességi köre. Neked a ''/'' kell.
[link]
[Szerkesztve] -
Hujikolp
őstag
-
Hujikolp
őstag
válasz
vakondka #2277 üzenetére
ismét sokat segítettél, köszönöm
!
bár azt a többdimenzíós dolgot egy cseppet sem értem, de lényegtelen. A session-okkal még nem tudtam foglalkozni, ugymondva nemtom azt se h hogyan kelll használniAmit adtál, azt majd átfogom nézni, és ha v.mit nem értek akkor majd szólok.
Viszont azt megtudnád nekem mondani h melyik az a fügvény ami egy filéből megadott sort olvas ki? mert én zézegettem egy-két dolgot és a fgets() jó lenne, csak az a bajom vele h a második paraméterben azt ell megadni h 1 sorból max mellyi adatot olvasson ki amig elnem jut a sor végére. vagyis én ilyan leírást találtam
Nekem meg olyan fügvényre lenne szükségem amit egy kerek számmal lehet megadni h mennyi sort olvasson ki a filéből. Van ilyen?tehát valami ilyen --> sorolvaso_fugveny_neve(egész_szam_ami_meghatarozza_h_mennyi_sort_olvasson_ki_a_filebol) ilyet keresk
-
Hujikolp
őstag
válasz
vakondka #2275 üzenetére
Köszönöm!
Csak 1 kérdés a cookie-vel kapcsolatban. Amikor létrehozok egy sütit, és mentek bele adatot, akkor milyen tipusú adatot tudok bele gyömöszőlni. azt tudom h kb max 4000 karaktert tud tárolni öszz visz, de egyszerüen beletudok írni egy ''kis történetet''? magyarán, bármit eltud tárolni? vagy csak a 4 adattipust? (integer, booleman,... vagy h irják) És sortöréseket lehet?
és idézőjelet? vagy csak a html kódját?
MÁSIK
Van nekem egy mysql táblám, de az adatoknál több minden szerepel. ez egy letöltésszámláló, és az egyik oszlopban megvan adva a file mérete. És én azt szeretném h a méret alapján listázza ki, akkor ezt h csináljam? (az egyik haverom készítette még anno régebben, amikor még egy kukkot se értettem a php-hoz, csak sajnos most nincs itt a haverom a jövö héten) szóval csak egy kis segítség kéne h mit irjak/változztassak a forrásban vagy hol. -
emitter
őstag
válasz
vakondka #1864 üzenetére
így belegondolva tényleg durva lenne
csak abból indultam ki, h csak én módosítanám a saját gépemen levő cookiekat
ráadásul még annyiban sem működött volna a scriptem, h mivel nem weben fut hanem a gépen FF-kiterjesztésként, nem is tudott volna cookie-t olvasnivagy nem?
-
Hani
aktív tag
válasz
vakondka #1654 üzenetére
Nem teljesen értem a dolgot: hol megy, hol nem.
Szóval, van az 1.html, és a 2.php. Mindkettőt UTF-8 formában mentem.
Ha karakterkészletnek is utf-8 - at adok meg, akkor helyesen jelenik meg az 1.html, meghívja a 2.php-t, és hibásan rakja be az adatokat az adatbázisba.
Ha utf-8 a karakterkészlet, és ANSI-ba mentem, van egy kis rücsök a form tetején, jó a kiírás, de rosszul írja be az adatbázisba.
Ha iso-8859-2 a karakterkészlet, és ANSI-ban mentem el, akkor jól írja ki, jól adja át a paramétert, és jól rakja bele az adatbázisba.
[Szerkesztve] -
Hani
aktív tag
válasz
vakondka #1645 üzenetére
Kihagytam az Include-részt, illetve mindent a php-tagokon kívül, úgyhogy most így néz ki a 2.php:
<?php header(''Content-type: text/html;charset=iso-8859-2'');
$nev = $_POST['nev'];
print ''Név: <b>$nev</b><P>\n\n'';
?>
Most már nem is vág ki parse errorral, viszont az É betűmből ugyanúgy Ă -t csinál.
[Szerkesztve] -
Hani
aktív tag
válasz
vakondka #1643 üzenetére
öö..
mármint hova tegyem pontosan?
ha így írom be:
<?php include('fejlec.html'); header(''Content-type: text/html;charset=iso-8859-2'');?> ...
akkor kivág hibaüzenettel: Parse error: parse error, unexpected T_STRING in /disk/raid2/q/-/q/2.php on line 2
ugyanez, ha <?php header..... include.... ?>
Ha a <? tag elé írom be, akkor nem történik semmi, csak kiírja azt a sort is.
Lennél olyan jó és le tudnád írni, hogy hogyan nézne ki akkor a végleges php file-om ?
[Szerkesztve] -
paramparya
őstag
válasz
vakondka #1548 üzenetére
Nem, egy adatbázisosztály csinál mindent, amit az adatbázissal kell csinálni, ő hozza létre a kapcsolatot, ő kérdez le, tárolja a lekérdezés eredményét, és visszaadogat egy-egy sort, vagy amit még megcsináltál benne metódusként. És ő zárja be a kapcsolatot, tehát ő csinál mindent neked, neked csak utasítani kell...
Nyitottam OOP topicot, folytassuk ott: [link]
Itt már kezd hízni, és programnyelv-független a dolog, itt már off egy picit...
[Szerkesztve] -
Fisha
őstag
válasz
vakondka #1548 üzenetére
Szerintem az a legszemleletesebb ha csinalsz mondjuk egy emberek tablat. Itt vannak az emberek mindefele adatai, mondjuk vezeteknev, keresztnev, cim, tel stb. Ehhez csinalsz egy passzolo osztalyt (pl class Ember), ugyanilyen tagvaltozokkal. Aztan egy query eredmenyet szepen betoltogeted Ember objektumokba. Csinalhatsz az ember osztalyba egy, metodust, ami visszaadja a teljes nevet (lenyegeben osszefuzi a vezetek es a keresztnevet), es akkor ezt meghivogathatod kedvere a peldanyokon. Ez kb jo kiindulas.
-
faster
nagyúr
válasz
vakondka #1545 üzenetére
A tagváltozók elveszik a korábbi értéküket, ha újat kapnak, ebből a szempontból ugyanúgy viselkednek, mint a sima globális változók. Ennek a konkrét osztálynak az a hátránya, hogy minden egyes lekérdezéshez saját mysql kapcsolatot épít fel. Ezért szerencsésebb a kapcsolatot és a lekérdezést két külön objektumra szétszedni.
-
Fisha
őstag
-
faster
nagyúr
válasz
vakondka #1541 üzenetére
Ez függ az adott osztálytól. Ha a négy lekérdezés eredményét párhuzamosan akarod kezelni, és az osztály csak egy lekérdezés ereményét tárolja el, akkor csinálni kell belőle 4 példányt. Ha viszont egymás után akarod feldolgozni a 4 queryt, akkor erre elég egy objektumpéldány, létrehozod, query, feldolgozod az eredményt, újabb query, újabb feldolgozás stb...
Ha több query, több eredmény (result set) van, de csak egy adatbázis kapcsolat, akkor érdemes szétválasztani pl. egy kapcsolat objektumra, egy resultset objektumra...sok dologtól függ, melyik modell kényelmesebb. -
faster
nagyúr
válasz
vakondka #1537 üzenetére
szóval a függvényeknek belül kell lenniük az osztályon, akkor mégis tanultam valamit egy nap alatt !
Így van, minden tulajdonság (tagváltozó, tagfüggvény) ami az adott osztályra vonatkozik, a class blokkon belül kell hogy legyen. A class egy sablon, ezen sablon alapján jön létre egy vagy több objektum. Ezt hívják egyébként példányosításnak. Alaphelyzetben a class alapján annyi objektumot hozol létre, amennyire csak szükséged van (van más viselkedésű osztály is, de az most lényegtelen)
Egy jól megírt osztálynak például olyan alapvető tulajdonságai kell, hogy legyenek, hogy pl. az osztályhoz tartozó adatokhoz csak az osztály saját függvényei férhetnek hozzá, külső programrész csak egy jól definiált interfészt lát az objektumból, a belső felépítéséről nem tud semmit, és közvetlenül nem is tud belenyúlni az osztály adataiba.
[Szerkesztve] -
Fisha
őstag
válasz
vakondka #1537 üzenetére
Eloszor is a leborulos szmajli fasternek jar.
Masodszor meg: termeszetesen a classon belull kell lennie mind a peldany metodusoknak (mert oop-ben igy hivjuk ezeket szepen), mind a peldany valtozoknak.
Amugy egy filen belul csinalhatsz tobb osztalydefiniciot is, ezert is kell a classon belul lennie mindennek, mert maskulonben nem lenne egyertelmu szegeny forditonak a dolog. Mondjuk en azt javaslom, hogy tedd minden osztalyodat kulon filebe, ugy jobban attekintheto -
faster
nagyúr
válasz
vakondka #1523 üzenetére
A fekete könyv nincs meg, nem tudom megmondani, mennyire jó az oop része, a másik megvan, de azt is olyan rég nem olvastam már, hogy meg nem tudom mondani, neked jó-e vagy sem. Úgy emlékszem, eléggé haladó szinten foglalkozik vele, úgyhogy kezdésnek nem épp a legmegfelelőbb.
A strukturális szemlélet az, hogy vannak a bemenőadatok, ezeket különféle műveletekkel addig alakítja a program, amíg szükség van rá, majd kiadja a kimenetre, vagy mondjuk eltárolja ezeket.
Az objektum orientált programozásnak a legfontosabb elve, hogy nem a funkciók felől közelíti meg a problémát, hanem az adatok, adatszerkezetk felől. Úgy közelíti meg a kérdést, hogy az adatokkal foglalkozik elsősorban, először azokat rendszerezi, az összetartozó adatok egymás mellé csoportosítja, majd definiálja, hogy ezeken az adatokon milyen műveleteket kell végrehajtani, ezeket funkciókba teszi, és ezt az egészet egy név alá rendelve azt mondja, ez egy objektum.
Most nincs időm példákat írni, majd talán legközelebb.
[Szerkesztve] -
faster
nagyúr
válasz
vakondka #1516 üzenetére
de nagyon érdekel az OOP-ben rejlő lehetőségek kihasználása és
most ott tartok, hogy nem tudom, hogy kezdjek hozzá...
Szóval akkor egyelőre nincs rá égető szükséged, inkább kíváncsiság...
...a fekete PHP könyvet érdemes megvenni e célból ?
Nem ismerem, nem tudom, mennyire van jól leírva benne az objektumkezelés.
Az obejktumok, osztályok gyakorlati megvalósítása nem igényel különösebb nagy voodoo mágiát. A class kulcsszóval létrehozol egy osztályt, amibe belerakhatsz függvényeket, illetve változókat, majd ha kész az osztály, létrehozol belőle egy példány a new operátorral.
A C, C++-t ismered? Gondolok itt elsősorban a struct-ra...illetve magukra az ''adatszerkezetekre''....
[Szerkesztve] -
Fisha
őstag
válasz
vakondka #1511 üzenetére
Hat nem egszen. Az OOP alapelve az, hogy nem valasztod szet az allapotokat (lenyegeben a valtozok), es a mukodest (fuggvenyek), hanem egy egysegge (osztallya) olvasztod. Vegeredmenyben olyan osztalyaid (lenyegeben uj valtozo tipusaid) lesznek, amik nem csak tarolnak valamit, hanem tudnak is csinalni mindenfelet.
Tovabbra is azt mondom, hogy nyugodtan keresgelhetsz php-tol fuggetlen OOP cuccokat is, mert az alapszemlelethez nem igazan fontos maga nyelv. -
whitewolf5
csendes tag
válasz
vakondka #1421 üzenetére
Ok Kösz ez megoldja részben a problémámat mert egy rendszert csinálok ami bejegyzéseket tárol, ez jó abba a mezőbe ahol a bejegyzés tárolásának dátumát teszem. De van egy lejárat mező hogy meddig legyen érvényes, ezt űrlapon kérem be a felhasználótól. A lényeg hogy milyen formában kell bekérnem az adatot ha erre létrehozok az adatbázisban egy külön rekordot monjuk ''lejarat'' és ez is dátum típusú?
-
sirtomi
tag
válasz
vakondka #839 üzenetére
A lekérdezés már darabokban van. Nem egy barom nagy szelektet futtatok, hanem több kisebbet, de az eredményből még kellene egy grafikont generálni.
A lekérdezés is lassú és a sok eredményből a grafikon is lassan készül el. Ezért szeretném a hibaüzenetet elkapni és valami felhasználónak is értelmeset kiíratni ha ez előfordulna.
Ezzel próbálkozom most:
$regi_hiba_kezelo = set_error_handler(''hibaKezelo''); -
QuarK
senior tag
válasz
vakondka #649 üzenetére
Nem igazán értem, mit nem mondtunk még el... De talán ezzel a példával megérted:
Inkább C-ben írom, mivel a PHP-hez nem igen értek
#define VALAMI ''A barátod neve %s.''
...
char *nev = ''Sanyi'';
...
printf( VALAMI, nev); // Ami egyenlő ezzel: printf( ''A barátod neve %s'', nev);
...
Eredmény a képernyőn:
A barátod neve Sanyi.
[Szerkesztve] -
Tele von Zsinór
őstag
válasz
vakondka #643 üzenetére
Nézd meg a printf függvény leírását, és világos lesz.
Lényeg annyi, hogy a szövegbe lehet ilyeneket rakni, mint %s, %i, %f, és a függvény utána a paramétereit helyettesíti be ide, sorrendben az első egy string, integer, aztán float. Mondjuk lehet keverem a C-vel, mert itt kevésbé lényegesek a változótípusok
Aktív témák
Hirdetés
- Garázsvásár-Kiárusítás 500Ft.-/Darab
- Lenovo Thinkpad X1 Carbon, Thinkbook, 2-in-1 Workstation, Yoga, 5-12.gen. 30+ típus!!!
- Nintendo Switch V1 OLED eredeti dobozzal, +Tok, +kontorller, +Animal Crossing, +256 Gb kártya
- Apple iPhone 12 Pro 128GB Kártyafüggetlen 1Év Garanciával
- Honor Magic 7 Lite 256GB Kártyafüggetlen 1Év Garanciával
- HGST HUH721010AL5200 10TB 7.2k SAS HDD, DELL branded, nettó 38000Ft + ÁFA, 1 év garancia
- AKCIÓ! ASUS B460M i7 10700 16GB DDR4 512GB SSD GTX 1080Ti 11GB KOLINK Observatory TG TT 600W
- Dell Latitude 5495 Full HD IPS Ryzen 5 pro 2500u Radeon Vega Mobile Gfx i5-8350u verő Bp MPL Foxpost
- ÁRGARANCIA!Épített KomPhone i5 10600KF 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- ÁRGARANCIA! Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged