- Kábeleket és csövezést rejtő "kirakatház" a GameMax logójával
- Felvarrták az Arctic rackmount rendszerekhez szánt CPU-hűtőjének ráncait
- Háromféle kivitelben, és nem kis kapacitásokkal jönnek a Micron 6550 ION SSD-i
- Már a Samsung sem szolgálja ki modern AI lapkákkal Kínát
- Havazáshoz igazított kiadás kap a Steam Deck OLED
- Samsung LCD és LED TV-k
- Dell notebook topic
- Azonnali informatikai kérdések órája
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Milyen egeret válasszak?
- Nem indul és mi a baja a gépemnek topik
- Kormányok / autós szimulátorok topikja
- Felvarrták az Arctic rackmount rendszerekhez szánt CPU-hűtőjének ráncait
- Projektor topic
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
Új hozzászólás Aktív témák
-
D@ni88
addikt
Hello.
Tudna valaki olyan példát mutatni, ahol tetszőleges számű beviteli mezőt lehet készíteni és feldolgozni?
El akarok tárolni valami szöveget, de nem csak fix számút, hanem néha 20at néha 2-t.
-
Brown ügynök
senior tag
-
MODERÁTOR
jQuery. nagyon egyszerűen és gyorsan. én úgy csinálnám, hogy lenne egy automatikusan, ha a tartalma nem "alapállapot" vagy "üres" akkor hozzáadok még egyet. Posztoláskor, mint ahogy fentebb írta a kollega úgy.
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
meone
tag
Sziasztok!
Mostanában elkezdtem foglalkozni adatok ábrázolásával.
Az adatok MySQL-ben vannak letárolva és PHP-val olvasom ki, hogy épp mi kell nekem az adatbázisból éppen.
Találtam egy jó kis oldalt ahol vannak ilyen demo diagramok azokat módosítom a nekem megfelelő kinézetre. [link]
Amit belinkeltem azt a diagramot szeretném át alakítani úgy, hogy PHP segítségével szedje ki a MySQL-böl az adatot.
Jelenleg az adatok egy JSON fájlba vannak tárolva.
Ezzel kapcsolatban lenne kérdésem.
Az egyik az, hogy ezeket a fájlokat hogyan lehet írni PHP segítségével van rá a neten valami minta, hogy milyen szintaxissal lehet meg nyitni a fájlt bele írni a végére majd lezárni?A második kérdésem pedig a belinkelt oldallal kapcsolatos.
Az oldal forráskódja a következő:<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Highstock Example</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var seriesOptions = [],
yAxisOptions = [],
seriesCounter = 0,
names = ['MSFT', 'AAPL', 'GOOG'],
colors = Highcharts.getOptions().colors;
$.each(names, function(i, name) {
$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename='+ name.toLowerCase() +'-c.json&callback=?', function(data) {
seriesOptions[i] = {
name: name,
data: data
};
// As we're loading the data asynchronously, we don't know what order it will arrive. So
// we keep a counter and create the chart when all the data is loaded.
seriesCounter++;
if (seriesCounter == names.length) {
createChart();
}
});
});
// create the chart when all data is loaded
function createChart() {
chart = new Highcharts.StockChart({
chart: {
renderTo: 'container'
},
rangeSelector: {
selected: 4
},
yAxis: {
labels: {
formatter: function() {
return (this.value > 0 ? '+' : '') + this.value + '%';
}
},
plotLines: [{
value: 0,
width: 2,
color: 'silver'
}]
},
plotOptions: {
series: {
compare: 'percent'
}
},
tooltip: {
pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b> ({point.change}%)<br/>',
yDecimals: 2
},
series: seriesOptions
});
}
});
</script>
</head>
<body>
<script type="text/javascript" src="../../js/highstock.js"></script>
<div id="container" style="height: 500px; min-width: 600px"></div>
</body>
</html>Hogyan alakíthatom át ezt úgy, hogy az adatokat ne JSON fájlból szedje ki hanem MySQL és PHP kombó segítségével.
Azt sejtem, hogy valahol itt kell keresgélni a kódban.
$(function() {
var seriesOptions = [],
yAxisOptions = [],
seriesCounter = 0,
names = ['MSFT', 'AAPL', 'GOOG'],
colors = Highcharts.getOptions().colors;
$.each(names, function(i, name) {
$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename='+ name.toLowerCase() +'-c.json&callback=?', function(data) {
seriesOptions[i] = {
name: name,
data: data
};
// As we're loading the data asynchronously, we don't know what order it will arrive. So
// we keep a counter and create the chart when all the data is loaded.
seriesCounter++;
if (seriesCounter == names.length) {
createChart();
}
});
});Az 'MSFT', 'AAPL', 'GOOG' azok a fájlok amik az adatokat tartalmazzák.
Esetleg valaki itt csinált már ilyet?
Köszönöm előre is a segítséget.
Elnézést kérek mindenkitől a helyes írásom ért :)
-
Sk8erPeter
nagyúr
"Jelenleg az adatok egy JSON fájlba vannak tárolva.
Ezzel kapcsolatban lenne kérdésem.
Az egyik az, hogy ezeket a fájlokat hogyan lehet írni PHP segítségével van rá a neten valami minta, hogy milyen szintaxissal lehet meg nyitni a fájlt bele írni a végére majd lezárni?"Ha jól értelmezem a kérdésedet, szeretnél PHP-vel megnyitni, majd beolvastatni egy JSON-fájlt, ehhez hozzáadni adatokat, majd ismét JSON-formátumban eltárolni, és végül lezárni a fájlt.
1.) Megnyitásra, fájl tartalmának beolvastatására: file_get_contents()
2.) JSON-string PHP-s formátumra konvertálására: json_decode().
Itt hozzáadhatod akár tömbszerűen, vagy neked tetsző módon az adataidat, ezt követően:
3.) PHP-változó JSON-stringgé konvertálására: json_encode().
4.) Fájlba írásra, fájl lezárására: file_put_contents().Ennél egyszerűbb módszer erre nincs.
Pont a json_decode() kommentjei közt szerepel egy viszonylag egyszerű példa a beolvasásra:
[link]
"Make sure you pass in utf8 content, or json_decode may error out and just return a null value. For a particular web service I was using, I had to do the following:<?php
$contents = file_get_contents($url);
$contents = utf8_encode($contents);
$results = json_decode($contents);
?>Hope this helps!"
A második részre:
"Hogyan alakíthatom át ezt úgy, hogy az adatokat ne JSON fájlból szedje ki hanem MySQL és PHP kombó segítségével."
Szerintem itt rosszul értelmezed a dolgokat, vagy lehet, hogy csak rosszul fogalmaztad meg, vagy én értelek félre. Láthatóan az általad linkelt oldalon is PHP segítségével dolgozzák fel az adatokat. Hogy konkrétan MySQL- vagy más adatbázisból szedik ki az adatokat, az teljesen lényegtelen, de valamilyen adatbázisból kiszedik.
Itt annyi történik, hogy AJAX-szal kérdezik le az adatokat, és azzal is jelenítik meg a frontenden. Ettől függetlenül nem feltétlenül generálnak le emiatt egy JSON-fájlt, hogy aztán abból olvassák ki, hanem egyszerűen JSON-formátumban küldik vissza a kapott adatokat a szerverről.
Ez pl. nagyon könnyen megtehető a korábban említett json_encode() függvény segítségével.
Összeállítanak egy tömböt, vagy bármilyen más változót a kívánt adatokkal, json_encode-dal JSON-formátumúra alakítják, majd ezt echo-zzák, ezt kapja meg az AJAX-lekérés eredményeként a kliensoldal. Ezt már csak a megfelelő formátumban jQuery-vel feldolgozzák, elkészítik belőle a grafikont, stb.Ezek fényében az első pontra visszatérve: ha folyamatosan változó adatokat akarsz kiolvastatni pl. adatbázisból, mindezt PHP-vel feldolgozni, stb., akkor emiatt nehogy írj minden alkalommal JSON-fájlt, hacsak nem nagyon indokolt, az feleslegesen rendkívül erőforrásigényes.
[ Szerkesztve ]
Sk8erPeter
-
RootRulez
félisten
Sziasztok!
Most úgy irányítom át az egyik oldalra a másikra, hogy
header("Location: masikoladl.php" );Ez megy is frankón, de most közölni szeretném az odalátogatóval, hogy ez az oldal megszűnt, oly módon, hogy átugrás előtt mondjuk számoljon vissza, esetleg egy link is lehet, hogy hamarabb lehessen átlépni.
Ez megoldható? Köszi!
[ Szerkesztve ]
═════════════════════════════════════════
-
Speeedfire
félisten
válasz RootRulez #7356 üzenetére
echo '<p class="tovabb">
Megszűnt az oldal, átirányítás folyamatban!<br />
Ha türelmetlen vagy katt <a href="#">ide</a>.
</p>';
header("refresh:3;url=www.google.hu");
//a refresh után mp-ben kell megadni az időt 2-3mp elég
//az információra
//a visszaszámolást meg csináld
//meg js-ben[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
RootRulez
félisten
válasz Speeedfire #7357 üzenetére
Köszi! Sajna se PHP-hoz, se java-hoz nem értek, de az irányítás megy így.
(a visszaszámolást megoldom úgy, hogy másodpercenként irányítja tovább oldalra, ahol egyel kevesebb számot ír ki. A 4. oldal meg a tárgy oldal lesz. )
═════════════════════════════════════════
-
RootRulez
félisten
válasz Speeedfire #7359 üzenetére
Mielőtt átirányítom a valós oldalra, átirányítom 3 másik odalra, ahol csak a szám változik Ennyi...
═════════════════════════════════════════
-
Speeedfire
félisten
válasz RootRulez #7360 üzenetére
Az úgy elég gány megoldás.
Inkább használd ezt, vagy csak vedd ki belőle ami neked kell.
<html>
<head>
<meta name="content" content="text/html; charset=iso-8859-2">
<title>Hibakód: 404 (File Not Found)</title>
<script type="text/javascript">
window.onload = function() {
startCountDown(5, 1000, myFunction);
}
function startCountDown(i, p, f) {
var pause = p;
var fn = f;
var countDownObj = document.getElementById("countDown");
if (countDownObj == null) {
alert("Nincs ilyen id-vel ellátott elem!");
return;
}
countDownObj.count = function(i) {
countDownObj.innerHTML = i;
if (i == 0) {
fn();
return;
}
setTimeout(function() {
countDownObj.count(i - 1);
},
pause
);
}
countDownObj.count(i);
}
function myFunction() {
document.location.href = "http://tothszabi.info";
}
</script>
</head>
<body>
<div id="countDown"></div>
</body>
</html>Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
RootRulez
félisten
válasz Speeedfire #7361 üzenetére
Ühüm köszi, működik!
Mindenképp jobb az én fapados megoldásomnál.
═════════════════════════════════════════
-
Sk8erPeter
nagyúr
-
Speeedfire
félisten
válasz Sk8erPeter #7363 üzenetére
Igen, mert én a php fájl elején nyomok egy ob_flush()-t. Így nem dob notice-t.
Tudom, hogy nem a legjobb megoldás, de így nem kell ezzel sem foglalkozni.Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Speeedfire #7364 üzenetére
Na de ezt itt nem mondtad. Én meg épp azért "szóltam be", mert az úgy nem fog működni.
Bufferelés hiánya esetén ezt a hibát kapod:
"Warning: Cannot modify header information - headers already sent by (output started at ... in ... on line ..."
Nyilván, mivel fejléceket a HTML output után bufferelés hiányában már nem lehet küldeni.De az általam belinkelt kommentben sincs explicite ob_start() meg ob_flush(). Egyszerűen cseréld meg a kódodban a sorrendet...előbb legyen a header elküldése, utána a kiírt szöveg.
Sk8erPeter
-
Speeedfire
félisten
válasz Sk8erPeter #7365 üzenetére
Mi lenne velem nélküled?!
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
RootRulez
félisten
válasz Speeedfire #7366 üzenetére
No, de akkor ez most rám mennyire vonatkozik? Valamit át kéne írnom?
═════════════════════════════════════════
-
RootRulez
félisten
"Tudtam én, csak nem sejtettem..."
(mod: idézőjelek)
[ Szerkesztve ]
═════════════════════════════════════════
-
D@ni88
addikt
hello, itt mit rontok el?
class Users
{
...
public function is_admin()
{
if($this->admin==1)
{return TRUE;}
else
{return FALSE;}
}
...
}$users = new Users();
if($users->is_admin())
{
echo "admin";
} -
j0k3r!
senior tag
-
D@ni88
addikt
közben rájöttem, hogy ezért szenvedtem vele, mert később hoztam létre az osztályból az objektumot, mint ahogy használni akartam
-
j0k3r!
senior tag
válasz Peter Kiss #7377 üzenetére
teljesen igazad van ( igy is szoktam hasznalni, nemis tudom miert a masikat irtam )
some men just wanna watch the world burn...
-
j0k3r!
senior tag
válasz Peter Kiss #7379 üzenetére
inkabb a tegnap este elfogyasztott alkohol mennyiseg lehet a ludas ( de ez mar nagyon off )
some men just wanna watch the world burn...
-
Sk8erPeter
nagyúr
válasz Brown ügynök #7372 üzenetére
"Ez így még kevés: if($users->is_admin())."
Már miért lenne kevés.
Fontos (php.net-ről):
"[...] However, in most cases the cast is unnecessary, since a value will be automatically converted if an operator, function or control structure requires a boolean argument.See also Type Juggling.
When converting to boolean, the following values are considered FALSE:
the boolean FALSE itself
the integer 0 (zero)
the float 0.0 (zero)
the empty string, and the string "0"
an array with zero elements
an object with zero member variables (PHP 4 only)
the special type NULL (including unset variables)
SimpleXML objects created from empty tagsEvery other value is considered TRUE (including any resource)."
Tehát amennyiben a példában az is_admin() függvény visszatérési értéke nem tekintendő false értékűnek a belső konverzió után (lásd a felsorolt példákat), akkor igaznak értékelődik ki.
(#7373) j0k3r! :
"(mar ha bool ertekkel ter vissza a metodus)"
a fentiek miatt nem is muszáj, hogy explicite boolean értékkel térjen vissza a függvény, ahhoz, hogy true-nak értékelődjön ki a visszatérési értéke. Persze nyilván ilyen esetben úgy ocsmány, ha nem boolean értékkel tér vissza, de nem árt tudni, hogy más esetekben is "jól" működik a függvény, ez akár sok félreértéshez is vezethet programteszteléskor.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Sk8erPeter #7381 üzenetére
Ezzel kapcsolatban még érdemes megnézni ezt:
PHP type comparison tables
és ezt:
Stupid PHP Tricks: (true == false)$a = 'string';
$b = 0;
if ( $a == true && $b == false && $a == $b )
{
echo ( 'universe broken' );
}Sk8erPeter
-
D@ni88
addikt
Rewrite-ot mennyire érdemes használni?
Én most próbálgatom, de eddig nem olyan nagy sikerrel
Működik már a link átalakítása, de most totál széttúrja az oldalam.
Eddig volt ugye egy index.php, ahova includoltam a class-okat, és utánuk az oldal template-jét.
Most minden szép és minden jó, de most csak az adott php tartalma jelenik meg, és nem használja a template-t.
Hogy lehet megoldani, hogy működjön a rewrite is és oda kerüljön a php tartalma a template-n belül ahova azt szeretném? -
Sk8erPeter
nagyúr
"Rewrite-ot mennyire érdemes használni?"
Amennyire szükséged van rá.
Egyébként nyilván abszolúte van létjogosultsága.Számomra mindenesetre a probléma-leírásod totál érthetetlen volt, ráadásul a .htaccess fájlod meg a pontos célod (pl. milyen címből mi legyen) leírása nélkül csak rébuszokban tudunk beszélni.
Sk8erPeter
-
Peter Kiss
őstag
válasz Speeedfire #7385 üzenetére
Miért?
-
D@ni88
addikt
válasz Sk8erPeter #7384 üzenetére
.htacces fájl:
<IfModule mod_rewrite.c>
RewriteEngine on
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?page=$1 [QSA]
</IfModule>Szval, hogy ha rewrite-ot használok, akkor, minden egyes cél url php-ba fel kell építenem újra a html tageket?
Mert most úgy működik, hogy ha a főoldalra megyek, szépen megjelenik az oldal, viszont ha egy direkt rewrite-nak készített linkre (valami.hu/teszt) megyek, aminek a tartalma
<?php
echo "sikerült";
?>
akkor csak a sikerült szöveg jelenik meg, míg az oldal header-je, oldalsávja nem jelenik meg. -
Speeedfire
félisten
válasz Peter Kiss #7386 üzenetére
Elsősorban a átláthatóság, strukturáltság miatt másodsorban pedig SEO szempontok miatt.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
Most elvileg szeretnéd "ráfuttatni" a címeidet az index.php-ra.
A rewrite modul most akkor írja át a címet, ha nem fájlról és nem könyvtárról van szó.
Ha az index.php-ben helyesen include-olod a fejlécet, oldalsávot a megfelelő helyre, akkor azt is meg kell jelenítenie. Kérdés, hogy most Te mit is csinálsz igazából a $_GET['page'] változóval, meg mi van az index.php-dben. Ebből is mutathatnál részletet.
Ja, meg az sem árt, ha a rewrite modul tényleg működik a szerveren, különben hiába van .htaccess fájlod, amiben próbálsz átírni bármit is.
Amúgy kétszer van a RewriteEngine on sorod, egyiket szedd ki.(#7386) Athlon64+ : mit mié'?
[ Szerkesztve ]
Sk8erPeter
-
D@ni88
addikt
válasz Speeedfire #7389 üzenetére
Eddig úgy volt felépítve az oldal, hogy a template.php-n belül létrehoztam az oldal formai struktúráját.
És mindig az egyes div-ekbe include-oltam az adott php-kat a $_GETből kapott érték szerint.<?php
session_start();
include_once("initial.php"); <-osztályok
$users = new Users();
include_once("page.template.php");
?>[ Szerkesztve ]
-
-
D@ni88
addikt
válasz Speeedfire #7392 üzenetére
Ez már egy .tk-s domainról megy. lehet hogy ott nem lehet használni
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
Először csekkolni kéne, a mod_rewrite modul be van-e töltve az Apache-ban.
Saját szerverről próbálkozol, vagy egy szolgáltató tárhelyéről?
Készíts egy phpinfo()-t (amennyiben a szolgáltatód nem volt olyan ostoba, hogy letiltotta ezt a funkciót "biztonsági" szempontokra hivatkozva).
Pl. phpinfo.php fájlon belül:
<?php
phpinfo();
?>Általában, ha a PHP az Apache module-on keresztül fut, a phpinfo()-nál az apache2handler résznél látható egy Loaded Modules sor; ha itt szerepel a mod_rewrite bejegyzés, akkor a rewrite modul be van töltve. Ha nem szerepel a felsorolásban, akkor meg is van a hiba. Pl. a szerver konfigfájljában (httpd.conf) ki van kommentezve a
LoadModule rewrite_module modules/mod_rewrite.so
sor.Most átmenetileg módosíthatnád az index.php-det úgy, hogy a legelejére beteszel egy ilyet:
<?php
echo '$_GET array: <pre>';
var_dump($_GET);
echo '</pre>';
die();
// .....
?>Ezzel kiíratod, mi van a $_GET tömbben.
Ellenőrizd, aztán meglátjuk, hogyan tovább...Egyébként ha az eddigi tesztjeidet leszarja, akkor simán elképzelhető, hogy egyszerűen nem megy a modul. Legalábbis most ennyiből nem látom, hogy valami elrontottál volna.
Szerk.:
(#7393) D@ni88 :
"Ez már egy .tk-s domainról megy."
A domainhez semmi köze. A .tk-s domained elméletben simán mutathatna akár a saját kis szervered IP-címére is, így tiéd lenne a tárhely.
A tárhelyszolgáltató szerverbeállításaitól függ, megy-e a Rewrite modul.[ Szerkesztve ]
Sk8erPeter
-
D@ni88
addikt
válasz Sk8erPeter #7394 üzenetére
megnéztem gyorsba, le van tiltva a phpinfo
a többire holnap lesz időm
[ Szerkesztve ]
-
D@ni88
addikt
válasz Sk8erPeter #7396 üzenetére
Fatal error: Call to undefined function apache_get_modules() in /var/www/virtual/xyz.tk/htdocs/index.php on line 3
-
Sk8erPeter
nagyúr
Nem működik, ha CGI-módban futtatják a PHP-t...
Még egy próbát tehetsz azzal, hogy kiszeded az <IfModule mod_rewrite.c> sort, meg a bezáró </IfModule> taget, ekkor ha be van állítva a RewriteEngine on, viszont a mod_rewrite modul nincs bekapcsolva, akkor "Internal Server Error" hibaüzenetet kapsz.
Sk8erPeter
-
D@ni88
addikt
válasz Sk8erPeter #7398 üzenetére
kipróbáltam és nem megy hibára
-
Peter Kiss
őstag
Kriptográfiai kulcsokat hova szokás pakolni?
Új hozzászólás Aktív témák
Hirdetés
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Politika
- PlayStation 3
- LEGO klub
- Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Elektromos cigaretta 🔞
- Elektromos autók - motorok
- Xbox tulajok OFF topicja
- Synology NAS
- WoW avagy World of Warcraft -=MMORPG=-
- További aktív témák...
- Belépűszintű Gamer PC Eladó + Monitorral + Billentyűzettel és Egérrel
- XBOX ONE FAT 500 GB gyári tartozékaival, 2 kontrollerrel és 2 játékkal
- XBOX SERIES S KONZOL 512GB-os Játékkonzol - Azonnali termékcsere garanciával
- Vegyes filamentek PLA/PETG/ASA
- Legion 5 15ARH7 15.6" FHD IPS Ryzen 5 6600H RTX 3050Ti 16GB 512GB NVMe magyar vbill gar
Állásajánlatok
Cég: HC Pointer Kft.
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest