- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Magga: PLEX: multimédia az egész lakásban
- Tomasz72: Ventilátor upgrade
- Elektromos rásegítésű kerékpárok
- Chosen: Canon 5D II - portrézás 2025-ben
- Szevam: „Rendszerleállás” – egy AI képzeletbeli halál utáni élménye
- bambano: Bambanő háza tája
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
Új hozzászólás Aktív témák
-
fordfairlane
veterán
Inkább csak formázza az outputot, amit a passive view nem tesz, a modell meg nem szabad, hogy tegye.
-
válasz
fordfairlane #17397 üzenetére
Hogy valamilyen módon tartalmat szolgáltat a controller. Ha jól értem akkor valamiért a controller "fallbackel", ha nem elnézést!
-
fordfairlane
veterán
Symfony sem tud szerintem igy forditani, vagy igen?
A templatekezelőben beépítve van egy translator helper funkció:
Persze lehet a kódban is, ott persze metódushívással lehet, és más frameworkoknél meg nyilván mások a lehetőségek.
-
biker
nagyúr
válasz
fordfairlane #17392 üzenetére
"Ez attól függ. Ha nincs külön viewmodel, ami kezeli a logikáját az adott megjelenítésnek, akkor előfordulhat ilyen kis baleset, hogy a controllerbe kerül a megjelenítési logika. Ez adott esetben megbocsájtható, mert a nézet általában valamiféle template-nyelv szokott lenni, aminél ugyanúgy nem jó, ha komplex logikai elemek, vezérlőszerkezetek kerülnek."
De van, view model files.ctp, ebben listáz kategoriankent, és forditás közben nézem, honnan szedi azt a szót???
Fordítás: úgy értem, az van beleirva, "Hello world" nem pedig __('Hello world')
Symfony sem tud szerintem igy forditani, vagy igen?
Mindent nekem kell átirni hogy a po mo fileokba kerüljön és lehessen x nyelvre fordítani -
válasz
fordfairlane #17392 üzenetére
Én ilyet akkor sem csinálnék kontrollerben. Apropó az a kategória modellből jön - onnan kéne jönnie?!
CakePHP: lassú, nagy,
szarrossz. -
fordfairlane
veterán
jogos e a szörnyülködésem, ha a controllerbe beírnak kézzel szöveget, amit meg is jelenít a weblapon?
pl PagesController.php-ben benne van egy "ha nincs kategória név, akkor $categoryName="Main Categories" féle rész? Nem az lenne a lényeg, hogy a kontroller lekéri a modelből az adatokat, amit a view megjelenít?
Ez attól függ. Ha nincs külön viewmodel, ami kezeli a logikáját az adott megjelenítésnek, akkor előfordulhat ilyen kis baleset, hogy a controllerbe kerül a megjelenítési logika. Ez adott esetben megbocsájtható, mert a nézet általában valamiféle template-nyelv szokott lenni, aminél ugyanúgy nem jó, ha komplex logikai elemek, vezérlőszerkezetek kerülnek.
és ha a az ilyenmain controllerben jquery notify ablakot is generál mint mondjuk "Success" ???
Ez már problémásabb. Az ilyet ajánlatos nézet template-be tenni.
- azt már fel sem említem, hogy a több nyelvűre kért site set_locale és i18 nélkül és minden szöveg kézzel beleírva...
Előfordul az ilyen. Symfonyban például az ilyen szövegrészeket utólag a Translator komponens segítségével könnyen át lehet tenni a megadott nyelvre. A CakePHP-t nem ismerem.
Az MVC paradigma megértése és használata szerintem fontos dolog, enélkül nehezen tudom elképzelni komplex rendszerek fejlesztését és karbantartását. Az MVC az objektum orientált programozás egyik alapvető tézisére, a Single Responsibility Principle-re épül, ami nélkül a program inkább csak objektumot használó, mint sem objektum orientált.
-
biker
nagyúr
Tanulási célból kérdezek...
Eddig túl sok energiát az MVC-kbe meg a mindenféle framworkokbe nem fektettem, mert én magam nem tudom eldönteni, melyik miért jobb, a saját ötleteimhez meg sosem gondolkodom abban, hogy egy keretrendszerbe hogyan lehet belenyomni, hanem megoldom az ötleteim hogy olyan legyen, amit elképzelek.
Gondoltam, majd akkor barátkozok mélyebben, ha kell is valahova, hasznosíthatom.Hát most van, mert bekaptam egy "elance-on Indidai csapat elkezdte, de fél év után kifizettem, csak töltsék fel ahogy áll, és valaki majd befejezi" projektet (olcsó húsnak híg a leve ugye)
CakePHP, de hogy miben írták, az kb lényegtelen, mert alapoktól horror, és csak kérdeznék tőletek...- jogos e a szörnyülködésem, ha a controllerbe beírnak kézzel szöveget, amit meg is jelenít a weblapon?
pl PagesController.php-ben benne van egy "ha nincs kategória név, akkor $categoryName="Main Categories" féle rész? Nem az lenne a lényeg, hogy a kontroller lekéri a modelből az adatokat, amit a view megjelenít?
- és ha a az ilyenmain controllerben jquery notify ablakot is generál mint mondjuk "Success" ???
- azt már fel sem említem, hogy a több nyelvűre kért site set_locale és i18 nélkül és minden szöveg kézzel beleírva...Most nem pont az lenne az MVC lényege, hogy ne tegyék?
-
cidalain
veterán
Na valami csak lesz belole...
Ha mas nem tapasztalat -
Sk8erPeter
nagyúr
válasz
Des1gnR #17388 üzenetére
Jé, csak nem mégis van valami API-szerűség a Volánnál?
Magyar állami szervezetnél ez egészen meglepő.
Azt sikerült leszűkíteni, hogy konkrétan milyen kulcsokra van szükség ahhoz, hogy a dolog működjön? Nekem nem volt kedvem próbálkozni, csak gyorsan indítottam egy Postmant, a honnan, hova, honnan_settlement_id, honnan_eovx, honnan_eovy és ennek hova_* változataival simán nem működik, üres objektum a válasz a JSON-változatnál. A Postmanhez telepített Postman Interceptor pedig cookie-kat is beállít, szóval annak hiánya elvileg nem para, de összesen az egésszel töltöttem kb. 3 percet, szóval annyiból nem derült ki, mi a hiány.
Felraktam inkább ide a képedet (szétvágva kettőbe), mert az ilyen külső képmegosztók kényükre-kedvükre egy idő után simán törlik a képeket (pl. ha egy ideje nem nézték):
-
Des1gnR
őstag
válasz
Sk8erPeter #17387 üzenetére
Ohh, ez tényleg jó.
Úgy voltam vele, hogy feladom mára, de csak nem tudtam nyugodni és kilestem a megoldást az androidos appból.
Képként csatolom ha valaki kíváncsi az eredményre: [link]Köszönöm a sok segítséget, ma is sokat tanultam azért
-
Sk8erPeter
nagyúr
válasz
Des1gnR #17386 üzenetére
Most úgy érdemes nézelődnöd, hogy a webfejlesztő panel hálózati fülén bekapcsolod, hogy őrizze meg a korábbi requesteket is, így újratöltődésnél nem fog mindig "elölről" kezdődni a requestek felsorolása, hanem megőrzi a lap-újratöltődés előttieket is, így láthatod, hogy az űrlap elküldésekor milyen adatok utaztak ide-oda.
Pl. Chrome vagy Opera esetén a Network fülön a "Preserve log" checkboxot most érdemes bepipálni, hogy lásd az eredményeket, pl. látszik, hogy a Keresés gomb megnyomása után először a
http://ujmenetrend.cdata.hu/uj_menetrend/volan/ajax_response_gen.php
címre megy egy request, megnézheted, itt milyen adat utazik, majd a talalatok.php-ra kattintva is meg tudod nézni a küldött/fogadott adatokat:Ez sokat segíthet a nyomozásban.
-
-
cidalain
veterán
válasz
Des1gnR #17383 üzenetére
látszik a kikódolt végeredményből hogy ott még jönne valami, hisz nem a </html> taggal végződik az anyag.
hogy ez most itt a hurl.it hibája, vagy esetleg a menetrendek.hu oldalon van valami gixer, amire nem gondolunk...
Update: Request makerrel is elküldtem egy kérést, ott is hiányzott a vége a válasznak. Gyakorlatilag pont innen kellene jönnie a lényegnek. Elképzelésem sincs mi lehet a gond.
Vagyis van, de nem tudom mi a megoldás.
Ha a volán keresőn csinálok egy keresést, majd megnézem a fejlesztői eszközökkel a forrást, akkor látszik hogy tényleg onnan jönne a lényeg.
Ha nem fejlesztői eszközökkel nézem, hanem View-source-szal, akkor viszont újratölt az oldal, és szintén itt van a vége, mint a példában.Vagy hiányzik valami paraméter, vagy valami session probléma lesz, amiről nem tudunk.
Innentől kezd nagyon elszállni a történet... -
Des1gnR
őstag
válasz
cidalain #17378 üzenetére
Feltettem, de nekem nem töltötte ki így automatikusan egy keresés után
Egyébként ezeket már megkaptam a HTTP Live Headerrel és próbáltam a hurl.it-en ezekkel a paraméterekkel, de nem jött válaszként a várt eredmény. Kép
(Természetesen dekódoltam a választ - http://pastebin.com/qDZQqXaq)
-
DS39
nagyúr
válasz
Sk8erPeter #17379 üzenetére
ezért: Google Translate API is available as a paid service.
free megoldás kellett. -
Sk8erPeter
nagyúr
Önmagában az, hogy GET-metódussal vagy POST-tal küldöd az adatokat a szerver felé, az tökéletesen mindegy. Szóval nem értem, az eltérő metódus miatt miért változtatna a megoldáson. A válasz feldolgozása már érdekesebb. Valószínűleg pont olyan változóneveket várnak, ami az űrlap elemeinél látható, tehát ezt is lehet tudni. Ami viszont már valóban gondot jelenthet, az az, ha az adatok megjelenítése, az eredménytáblázat felépítése csak JavaScripttel történik, és nincs benne a törzsben az elvárható módon az adat, tehát a válasz kikotrása egyáltalán nem biztos, hogy triviális egy szarul felépített oldalnál.
Egyébként vicc, hogy nincs egy normális hivatalos API-ja a Volánnak.
(#17371) DS39:
Regexszel kiszedni a választ valami brutális overkill. Vannak rendes dokumentum-feldolgozó könyvtárak, azokat kell használni.Hogy Google Translate-hez minek csináltál ilyen regexes adatkiszedős valamit, az meg számomra rejtély, amikor van rendes API-ja (elég régóta).
-
cidalain
veterán
válasz
Des1gnR #17377 üzenetére
Ácsi!
Tedd fel Chrome-ra a Request Maker nevű bővítményt.
Csinálj a volán keresővel egy keresést, és utána elemezd ki. Minden benne lesz szerintem ami kell a sikerhez
Ilyen lett: Szolnok-Budapest keresést csináltam, minden mást alapértelmezetten hagytamBudapestet a legördülőből választottam, azért van gondolom utána ID, szolnoknál azért nincs.
Ez jó hír, mert az ID-ket a saját programodból nem fogod tudni megadni. Az EOV X-Y koordináták kérdésesek, mert Szolnoknál is ott van, nem tudom mi alapján kerül oda: Ha mákod van elegendő paraméter csak a HONNAN és HOVA és ezek alparaméterei nem szükségesek -
cidalain
veterán
elsőkörben nyilván azt, ami az űrlapban van.
viszont belenézve a forrásba, van egy valag rejtett űrlapmező, melynek értéke javascripttel töltődik ki. nyilván azt is át kell adni paraméterben.
szóval elsőkörben kell valami (=program, extension, akármi) ami lekapja az összes input mező értékét az elküldés előtt, még kliens oldalon.
ha ez megvan akkor megvannak a paraméter nevek, és értékeik is. ezalapján összeállítható az alkalmazásból a kérés.bepróbálkoztam a legegyszerűbb honnan=Szolnok&hova=Budapest paraméterekkel, de nyilván nem volt elegendő, innen lehet sejteni, hogy a kevésbé fontos paramétereknek nincs default értéke. így tényleg minden űrlapmezőre és értékeire szükség lehet, még a rejtettekre is.
-
cidalain
veterán
válasz
Des1gnR #17373 üzenetére
de nemértem akkor mi a probléma
simán lehet egy oldalt meghívni úgy is hogy POST-ban vannak a paraméterek, nem? emlékszem 1000 éve Delphiben csináltam ilyesmit.(igaz nem olyan egyszerű, hogy meghívod a
www.valami.hu?par1=valami&par2=akarmi linket)Esetleg ezzel tudsz szarakodni: [link]
A destination ez: http://ujmenetrend.cdata.hu/uj_menetrend/volan/talalatok.php
Meglesed az összes űrlapelem NAME-jét, adsz nekik értéket, felveszed a paraméterlistát, aztán elküldöd.
Elvileg jön majd valami válasz. Ha az jó, akkor meglesed az oldal által küldött Request-et, aztán azt beépíted az alkalmazásodba. -
DS39
nagyúr
válasz
Sk8erPeter #17370 üzenetére
szerintem regex-szel akarja kiszedni a HTML kódból a "választ", amit fel tud dolgozni C#-ban, egy WP-s alkalmazáshoz. én is csináltam hasonlót, egy google fordítóra épülő szótár/fordító programot WP-re, de ott ez könnyen megoldható volt, mivel GET-tel mennek be a paraméterek, így link-be beszúrva az alkalmazásban beírt értéket lehet elküldeni a szerver felé. viszont a Volán oldalán POST-tal várják az információt, így ez szerintem nem megoldható. lehet form-ot elküldeni úgy, hogy a Volán "talalatok.php"-t állítja be az action-nak, de nem tudni milyen változóneveket várnak.
-
Sk8erPeter
nagyúr
válasz
Des1gnR #17369 üzenetére
Ha Windows Phone-ra szeretnél fejleszteni, akkor miért a PHP topicban vagy?
A feladat megoldásának semmi köze nincs hozzá, a szervertől kapott választ kell feldolgoznod az általad használt nyelvvel. (A Te szempontodból teljesen mindegy, hogy a VOLÁN-nál milyen szerveroldali nyelvet használnak.)
-
disy68
aktív tag
válasz
Des1gnR #17361 üzenetére
Ha a link generálás alatt azt érted, hogy http://oldal.hu/akarmi?honnan=Bp&hova=Kukutyin jellegűt, akkor nem fog menni, mert nem GET-tel várja az oldal az adatokat, hanem POST-tal (ez látszik a pastebin-es kódból).
Ott lehet látni mit is kapott a teszt során (14. sor):
utirany=oda&ind_stype=megallo&honnan=Budapest%2C+N%E9pliget+aut%F3busz-p%E1lyaudvar&honnan_settlement_id=2958&honnan_ls_id=16646&honnan_zoom=9&honnan_eovx=653877.875&honnan_eovy=236801.78125&honnan_site_code=0&erk_stype=megallo&hova=Szeged%2C+aut%F3busz-%E1llom%E1s&hova_settlement_id=3336&hova_ls_id=14611&hova_zoom=9&hova_eovx=734307.9&hova_eovy=101980.695&EycTaSNj=AJcJtFAqw&hova_site_code=0&keresztul_stype=megallo&keresztul=&keresztul_settlement_id=&keresztul_ls_id=&keresztul_zoom=&keresztul_eovx=&keresztul_eovy=&keresztul_site_code=&datum=2015-04-23&naptipus=0&napszak=0&hour=13&min=14&target=0&rendezes=0&maxwalk=700&var=0&maxvar=240&maxatszallas=5&filtering=0&preferencia=1&helyi=No&talalatok=1&odavissza=0&ext_settings=none&submitted=1Tehát neked egy POSt kérést kéne indítanod, aminek a válaszát már föl tudod dolgozni.
-
Des1gnR
őstag
válasz
PumpkinSeed #17366 üzenetére
Akkor én értettem félre és voltam félreérthető. Csináltam más hasonló alkalmazást egy hasonló oldallal, de ez egyébként se releváns a kérdésemmel kapcsolatban.
-
PumpkinSeed
addikt
válasz
Des1gnR #17363 üzenetére
Nekem is működik, de a "Már korábban csináltam ilyet, de itt nem tudok olyan linket generálni." után rakott linked-et linkeltem be újra.
Igen csak a mondandódból az derült ki, hogy mivel ott már csináltál olyat így te csináltad azt, de akkor úgy érzem nem oldódik meg ez a probléma se. Amúgy már írtam levelet a volán-nak is, de még mindig ilyen.
-
Des1gnR
őstag
válasz
PumpkinSeed #17362 üzenetére
Ugyan rossz a link, de biztosan nem én csinálom, bár kiv. lennék, hogy mit szerettél volna mutatni.
-
Des1gnR
őstag
Sziasztok!
Egy volán alkalmazáson dolgozok (dolgoznék) Windows Phonera.
Az elképzelés szerint megadom az indulási és a cél állomást és generálok egy olyan linket ami visszaadja a találatokat és azt a HTML kódot boncolgatom és jelenítem meg mobilra optimalizálva.
Már korábban csináltam ilyet, de itt nem tudok olyan linket generálni.
[link]HTTP Live Header ezt adja vissza egy lekérdezéskor:
http://pastebin.com/xz7VunHiRemélem tud valaki segíteni aki jobban rálát ezekre a dolgokra
-
fordfairlane
veterán
válasz
fordfairlane #17359 üzenetére
Fejlesszük tovább a konstruktort, hogy kidobhasd a kódból azokat a szörnyű charset bizergációkat:
$connect = new PDO(
"mysql:host=$servername;dbname=$myDBPDO;charset=utf8",
$username,
$password,
array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
)
); -
fordfairlane
veterán
válasz
MineFox54 #17354 üzenetére
Igen, használj PDO-t. Azt a mysqli példát felejtsd el, úgy rossz, ahogy van. Prepared statementeket érdemes használni.
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
$sql = "UPDATE MyGuests SET lastname = :lastname WHERE id = :id";
$stmt = $conn->prepare($sql);
$stmt->execute(array(
":id" => 2,
":lastname" => "Doe"
));
// echo a message to say the UPDATE succeeded
echo $stmt->rowCount() . " records UPDATED successfully";
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
} -
CSorBA
őstag
válasz
Sk8erPeter #17345 üzenetére
Ilyen lett az én megoldásom is. Nem gondoltam, hogy az array_walk lassabb lesz ennyivel... (think)
Köszi -
-
MineFox54
őstag
válasz
Sk8erPeter #17353 üzenetére
Igazad van, de akkor használjak pdo-t? Az valahogy nekem wtf érzés. Sokkal nehezebb szintaktika, stb.
mysqli
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}$conn->close();
?>pdo:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
// Prepare statement
$stmt = $conn->prepare($sql);// execute the query
$stmt->execute();// echo a message to say the UPDATE succeeded
echo $stmt->rowCount() . " records UPDATED successfully";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}$conn = null;
?>nem, köszönöm, akkor használok elavult php-t
-
MineFox54
őstag
válasz
sztanozs #17349 üzenetére
Nem áll szándékomban törölni
Más:
"Csináltam" ez alapján egy login systemet, és az lenne a kérdésem, hogy bejelentkezésnél a pass-on és a user-en kívül lekérném a user nevét, és én ezt egy másik fájlban ki szeretném íratni. Ezt hogy vigyem át?
Kb így kéne kinéznie:
checklogin.php
[...]
SELECT * FROM members WHERE username = $username and password=$password
$name = mysql_real_escape_string($username); //(ez lehet hogy itt nem helyes)
eltárol($name, name); //első arg= eltárolandó adat, második arg = név, amivel lehet hivatkozni) na itt a kérdés, hogy hogy, s mint
[...]masik.php
[...]
$nev = eloveszeltarolt(name);
echo("Üdvözöllek".$nev.)
[...]Köszi a segítséget!
-
sztanozs
veterán
válasz
MineFox54 #17348 üzenetére
Arra viszont számíts, hogy nem szükségszerűen lesznek ezek az ID-k szép egymás utánban (hosszabb használkat után). Rekordok törlése után ugyanis az adott ID-t többet már nem osztja ki a rendszer - nem rendezi újra a táblát, hogy törlés után is szép sorban legyenek az ID-k.
-
MineFox54
őstag
válasz
fordfairlane #17347 üzenetére
-
-
MineFox54
őstag
Sziasztok!
Lenne egy kérdésem! (kezdő vagoyk, ezt vegyétek figyelembe)
MySQL-be INSERT-elnék adatokat PHP-ben, viszont kéne adnom minden egyes sornak egy id-t. Ezt hogy szoktátok adni? (az előző sor id-je utáni számot kéne neki adni..)
-
Sk8erPeter
nagyúr
válasz
CSorBA #17344 üzenetére
Ha beépített megoldást is találnál rá, annak is végig kellene szaladnia a tömbön (igaz, a beépített megoldás minimálisan gyorsabb lehet, mint a saját kódod), szóval nem fogod tudni megspórolni, de nem túl bonyolult:
$testArray = array(
0 => array(
"id"=> "214",
"valami"=> "asd"
),
1 => array(
"id"=> "123",
"valami"=> "asd"
),
2 => array(
"id"=> "982",
"valami"=> "asd"
),
);$newArray = array();
foreach($testArray as $currentItem){
$newArray[$currentItem['id']] = $currentItem;
}Eredménye:
array (
214 =>
array (
'id' => '214',
'valami' => 'asd',
),
123 =>
array (
'id' => '123',
'valami' => 'asd',
),
982 =>
array (
'id' => '982',
'valami' => 'asd',
),
)Lehetne még array_walk segítségével is, de itt pár mérés alapján sokkal lassabb tud lenni, mint a foreach, úgyhogy inkább csak érdekességként mutatom:
$newArray = array();
array_walk($testArray, function($item, $key){
global $newArray;
$newArray[$item['id']] = $item;
}); -
CSorBA
őstag
Sziasztok,
adott egy hasonló tömb:
array() {
[0]=> array(...) {
["id"]=> string(...) "214"
["valami"]=> ...
}
[1]=> array(...) {
["id"]=> string(...) "514"
["valami"]=> ...
...Van rá valami lehetőség, hogy a szülő tömb kulcsainak a benne lévő tömb id kulcsának az értékét adjam meg? Azaz a 0 helyett 214, az 1 helyett 514 legyen a példában. Természetesen a tömb bejárása és újragenerálása nélkül. Az array_flip szerintem nem működik asszociatív tömbökre.
Ötlet?
Köszi
-
válasz
Speeedfire #17337 üzenetére
Elég volt az 1.1
-
MineFox54
őstag
válasz
cidalain #17338 üzenetére
Ebből:
<?php
header('Content-type: text/html; charset=utf-8');
$servername = "localhost";
$username = "user";
$password = "pass";
$dbname = "db";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM otlet";
$result = $conn->query($sql);
$conn->query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
$conn->set_charset("utf8");
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo " id: ". $row["leiras"]. " - Name: ". $row["nev"]. " " . $row["email"] . "";
}
} else {
echo "0 results";
}
$conn->close();
?>Lett ez:
<?php
header('Content-type: text/html; charset=utf-8');
$servername = "localhost";
$username = "usr";
$password = "pass";
$dbname = "db";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$conn->set_charset("utf8");
$conn->query("SET NAMES utf8,SET collation_connection = 'utf8'");
$conn->query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
$sql = "SELECT * FROM idea";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo " id: ". $row["leiras"]. " - Name: ". $row["nev"]. " " . $row["email"] . "";
}
} else {
echo "0 results";
}
$conn->close();
?> -
MineFox54
őstag
Sziasztok!
Eléggé kezdő vagyok még, bocsássatok meg.
Tehát: van egy UTF-8 táblám, ezt szeretném lekérdezni az alábbi kódrészlettel (illetve a módosított változatával),ebből: id: Árvíztűrő tükörfúró, Name: Árvíztűrő Tükörfúró ez lesz:
id: �rv�zt?r? T�k�rf�r� - Name: �rv�zt?r? T�k�rf�r�
Mit lehet ezzel kezdeni?
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "";
}
} else {
echo "0 results";
}
$conn->close();
?> -
Tele von Zsinór
őstag
Symfonyt használtam már úgy is, mint kis komponensek gyűjteménye, úgy is, mint nagy framework, illetve úgy is, mint egy másik fw része (silex). Elégedett voltam vele és bátran ajánlom másoknak is. Laravellel kollégám játszott, neki nagyon tetszett az is, de ő meg a Symfonyt nem próbálta soha
Annyira érdemes mindkettőbe belemenni, hogy összerakj egy minimál blogot, az csak pár oldal, de sok részére rálátsz, hogy hogyan kell megcsinálni. Annyi alapján el tudod dönteni, melyik jön be annyira, hogy mélyebben megnézd.
-
DNReNTi
őstag
Ez a Lumen tényleg ígéretes kis projektekhez.
Thx.
(#17325) biker
Fuu.(#17320) mobal
Szvsz Laravel (vagy Yii), de ez vallási kérdés is, ráadásul ezt úgy mondom, hogy még nem használtam Symfony-t. -
biker
nagyúr
Van arra trükk, hogy file feltöltéskor ha thumbnailt generálnék, akkor doc, xls, pdf és hasonló fileok adott oldalából is generáljon képet?
-
Zedz
addikt
-
cidalain
veterán
válasz
fordfairlane #17321 üzenetére
Nem tudhatod, lehet hogy az ketto muvesznev
-
Laravel vagy Symfony. Melyikkel érdemesebb foglalkozni?
-
Sk8erPeter
nagyúr
Rakj fel kérlek egy olyan jsFiddle-példát, amit én is linkeltem neked, bővítsd az enyémet, vagy valami (aztán mentsd is el, és linkeld be ide), hogy látható legyen, a saját kódodnál mi is a gond, és milyen opciókat szeretnél pluszban betenni, mert az általam korábban mutatott kód működik. Amúgy ez már sokkal inkább a JavaScript topicba hajlik, folytathatjuk ott is.
-
wmati
addikt
válasz
Sk8erPeter #17317 üzenetére
Itt utolsó sorban chart = new Highcharts.Chart(options); van ezzel nekem is pont ilyen de ha át írom chart = new Highcharts.StockChart(options); akkor nem értem hogy dátumot hogy lehetne jól meg jeleníteni.
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter #17316 üzenetére
Bővítettem még tök random adatokkal, és itt is teljesen jól jelenik meg a dátum:
http://jsfiddle.net/8vkse4bu/1/ -
Sk8erPeter
nagyúr
Itt úgy tűnik, hogy maga a dátum jól jelenik meg, felraktam a példádat:
http://jsfiddle.net/8vkse4bu/
Több adattal nem próbáltam ki, segítene, ha felraknál több adatot is mondjuk pastebinre, vagy ugyanígy bedobnád jsFiddle-példán, ami nálad rosszul jelenik meg.Amúgy az egyik hivatalos példában is ilyen bénán jelenik meg a dátum, ahogy említetted:
http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/stock/rangeselector/input-format/ -
wmati
addikt
válasz
Sk8erPeter #17314 üzenetére
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Power levels</title>
<link rel="stylesheet" type="text/css" href="./css/temperature.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="http://code.highcharts.com/stock/highstock.js"></script>
<script src="http://code.highcharts.com/stock/modules/exporting.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var options = {
chart: {
renderTo: 'container',
type: 'spline',
marginRight: 0,
marginBottom: 150,
zoomType: 'x'
},
title: {
text: 'Telekom Power levels (vargalex)',
x: -20 //center
},
subtitle: {
text: '',
x: -20
},
xAxis: {
categories: []
},
yAxis: {
title: {
text: 'Power level (dBmV)'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
valueSuffix: "dBmV"
/*formatter: function() {
return '<b>'+ this.series.name +'</b><br/>'+
this.x +': '+ this.y;
}*/
},
legend: {
enabled: true
},
series: []
}
$.getJSON("data.php", function(json) {
options.xAxis.categories = json[0]['data'];
options.xAxis.step = 6;
options.series[0] = json[1];
options.series[1] = json[2];
options.series[2] = json[3];
options.series[3] = json[4];
options.series[4] = json[5];
options.series[5] = json[6];
options.series[6] = json[7];
options.series[7] = json[8];
options.series[8] = json[9];
options.series[9] = json[10];
options.series[10] = json[11];
options.series[11] = json[12];
chart = new Highcharts.Chart(options);
});
});
</script>
</head>
<body>
<div id="container" style="min-width: 500px; height: 600px; margin: 0 auto"></div>
</body>
</html> -
Sk8erPeter
nagyúr
Mi a hozzá tartozó kliensoldali kódod?
Egyébként azt nézem, hogy az összes demóban dátumnál alapértelmezetten az 1970. január 1. óta eltelt milliszekundumok számát használják fel (pl. ennél a demónál, ebben a fájlban), szóval valszeg be kellene explicite állítanod, hogy te milyen dátumformátumot használsz, VAGY tök felesleges az adatbázis-oldali átalakításod (inkább utóbbira tippelek).
Szóval milyen JavaScript-kódot használsz hozzá?
Ja, és a dátumot hol, hogyan szeretnéd megjeleníteni?Szerk.:
http://api.highcharts.com/highstock#rangeSelector.inputDateFormat
Itt azt írja:
"inputDateFormat: String
The date format in the input boxes when not selected for editing. Defaults to %b %e, %Y. Defaults to %b %e %Y,."
Hogy most akkor melyik, azt nem tudom.Érdekes, hogy két formátum van.
Még ezek lehetnek érdekesek:
inputDateParser: Function
A custom callback function to parse values entered in the input boxes and return a valid JavaScript time as milliseconds since 1970.inputEditDateFormat: String
The date format in the input boxes when they are selected for editing. This must be a format that is recognized by JavaScript Date.parse. Defaults to %Y-%m-%d. -
wmati
addikt
válasz
Sk8erPeter #17312 üzenetére
Ha jó sor rendben hányom össze működni is fog
[
{
"name": "D\u00e1tum",
"data": [
"2015-04-15 07:06.03"
]
},
{
"name": "Downstream channel 1",
"data": [
3.5
]
},
{
"name": "Downstream channel 2",
"data": [
3.5
]
},
{
"name": "Downstream channel 3",
"data": [
2.8
]
},
{
"name": "Downstream channel 4",
"data": [
1.2
]
},
{
"name": "Downstream channel 5",
"data": [
0.3
]
},
{
"name": "Downstream channel 6",
"data": [
0.3
]
},
{
"name": "Downstream channel 7",
"data": [
0.3
]
},
{
"name": "Downstream channel 8",
"data": [
0.3
]
},
{
"name": "Upstream channel 1",
"data": [
44
]
},
{
"name": "Upstream channel 2",
"data": [
44.4
]
},
{
"name": "Upstream channel 3",
"data": [
45.4
]
},
{
"name": "Upstream channel 4",
"data": [
0
]
}
] -
Sk8erPeter
nagyúr
Megnézted a fogadott JSON-adatokat, az alapján a kapott adatok helyesek? Kliensoldalon hogy jeleníted meg a chartot? Nekem kicsit furcsa, hogy behánysz össze nem illő adatokat egymás mellé, pl. dátumot a valamilyen downstream/upstream csatornák adataival, persze nem is ismerem a library API-ját, de mielőtt utánanéznék, nem ártana legalább egy kis példakimenet (a kapott JSON-adatok legalább egy része, hogy el tudjuk képzelni, milyen adatokat is akarsz megjeleníteni).
Amúgy angolul a data már eleve többesszám, nem kell odatenni még egy s-t is a végére, hogy az legyen...
-
wmati
addikt
válasz
Sk8erPeter #17310 üzenetére
Van egy data.php azzal be csatlakozol sql szerverre ahonnan ki kérem adatok és átadom a Highstock- nak ahol pedig idő pontok helyén 00:00:00:001 ilyenek jelennek meg de Highcharts-al viszont minden rendben van, idő adatokat pedig linuxos gép teszi meg datatime sql oszlopba.
<?php
require_once('config.inc.php');
$sql = "select date_format(datum,'%Y-%m-%d %H:%i.%s') as utime, down_ch1, down_ch2, down_ch3, down_ch4, down_ch5, down_ch6, down_ch7, down_ch8, up_ch1, up_ch2, up_ch3, up_ch4
from power_levels
where id between '1' and '40'
order by id
limit 0,5000";
//where datum between '".date("Y-m-d H:i.s")."' and '".date("Y-m-d H:i.s",time()+24*60*60)."'
$result = $mysqli->query($sql) or die($mysqli->error);
$dates=array();
$down_ch1=array();
$down_ch2=array();
$down_ch3=array();
$down_ch4=array();
$down_ch5=array();
$down_ch6=array();
$down_ch7=array();
$down_ch8=array();
$up_ch1=array();
$up_ch2=array();
$up_ch3=array();
$up_ch4=array();
$dates['name']='Dátum';
$down_ch1['name']='Downstream channel 1';
$down_ch2['name']='Downstream channel 2';
$down_ch3['name']='Downstream channel 3';
$down_ch4['name']='Downstream channel 4';
$down_ch5['name']='Downstream channel 5';
$down_ch6['name']='Downstream channel 6';
$down_ch7['name']='Downstream channel 7';
$down_ch8['name']='Downstream channel 8';
$up_ch1['name']='Upstream channel 1';
$up_ch2['name']='Upstream channel 2';
$up_ch3['name']='Upstream channel 3';
$up_ch4['name']='Upstream channel 4';
$recordcount = 0;
while ($row = $result->fetch_assoc()) {
$dates['data'][]=$row['utime'];
$down_ch1['data'][]=$row['down_ch1'];
$down_ch2['data'][]=$row['down_ch2'];
$down_ch3['data'][]=$row['down_ch3'];
$down_ch4['data'][]=$row['down_ch4'];
$down_ch5['data'][]=$row['down_ch5'];
$down_ch6['data'][]=$row['down_ch6'];
$down_ch7['data'][]=$row['down_ch7'];
$down_ch8['data'][]=$row['down_ch8'];
$up_ch1['data'][]=$row['up_ch1'];
$up_ch2['data'][]=$row['up_ch2'];
$up_ch3['data'][]=$row['up_ch3'];
$up_ch4['data'][]=$row['up_ch4'];
$recordcount++;
}
$mysqli->close();
$datas=array();
$datas[]=$dates;
$datas[]=$down_ch1;
$datas[]=$down_ch2;
$datas[]=$down_ch3;
$datas[]=$down_ch4;
$datas[]=$down_ch5;
$datas[]=$down_ch6;
$datas[]=$down_ch7;
$datas[]=$down_ch8;
$datas[]=$up_ch1;
$datas[]=$up_ch2;
$datas[]=$up_ch3;
$datas[]=$up_ch4;
header('Content-Type: text/javascript');
echo json_encode($datas, JSON_NUMERIC_CHECK | JSON_PRETTY_PRINT );
?> -
wmati
addikt
-
sonar
addikt
válasz
Speeedfire #17306 üzenetére
ok, thx
-
sonar
addikt
Sziasztok,
Egy php kódba kellett pár apróságot beleszúrnom (php közel sem az én területem csak alap szinten)
és annó vki úgy ollózta össze a kódot, hogy minden funkció külön <?php ?> szekcióban volt.
Számít ez valamit? Működésben biztos nem, de szerver oldalról v sebességben? -
Speeedfire
félisten
válasz
TomKiss #17303 üzenetére
Nem kell autentikálni a proxynál, a proxy engedi az ftp-t is.
A kód részlet:
private function getFtpConnection() {
$conn = ftp_connect($this->_host, $this->_port, 90);
if ($conn != false && ftp_login($conn, $this->_user, $this->_pass))
{
ftp_chdir($conn, $this->_dir);
return $conn;
}
return null;
} -
TomKiss
tag
válasz
Speeedfire #17302 üzenetére
Kicsit hiányos a leírásod, mert nem mindegy, hogy authentikálni kell a proxyn vagy sem.
Egyébként pedig könnyem lehet, hogy eleve az ftp kapcsolat tiltva van a proxyn, és ezért nem megy. -
Speeedfire
félisten
Proxy mögül, hogy lehet php alól ftp-re adatokat küldeni?
Proxy nélkül megy, meg adatokat le is tudok szedni curl-el, de feltölteni proxy mögött nem akar menni.
Új hozzászólás Aktív témák
Hirdetés
- Honor 200 Pro - mobilportré
- Milyen belső merevlemezt vegyek?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- Kerékpárosok, bringások ide!
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Fotók, videók mobillal
- Le Mans Ultimate
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Xbox Series X|S
- További aktív témák...
- LG 65QNED86T / 65" - 164 cm QNED / 4K UHD / 120Hz & 3ms / HDR 10 Pro / FreeSync Premium / HDMI 2.1
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- AZONNALI SZÁLLÍTÁSSAL Eladó Windows 8 / 8.1 Pro
- Steam, EA, Ubisoft és GoG játékkulcsok, illetve Game Pass kedvező áron, egyenesen a kiadóktól!
- Bomba ár! Dell Latitude 5500 - i5-8GEN I 8GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Garancia!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest