- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
- sh4d0w: Csak a profit - emberélet nem számít
- vrob: Az IBM PC és a játékok a 80-as években
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Magga: PLEX: multimédia az egész lakásban
Új hozzászólás Aktív témák
-
B.A.T.
tag
Sziasztok! Mi a hiba? mysql adatbázist szeretnék lekérdezni html-ben megjelenítve, de nem tud csatlakozni az adatbázishoz. XAMPP Apache, MySQL elindítva, jogosultságok csekkolva. Az adatbázis neve rajzfilmek, és a sorozatok táblából kérdezek le.
kód:
<!DOCTYPE html>
<html>
<body>
<?php
$servername = "127.0.0.1";
$username = "root";
$password = "";
$dbname = "rajzfilmek";// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}$sql = "SELECT id, cim FROM sorozatok";
$result = $conn->query($sql);if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - cim: " . $row["cim"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
</body>
</html>hibaüzenet:
connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id, cim FROM sorozatok"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - cim: " . $row["cim"]. "
"; } } else { echo "0 results"; } $conn->close(); ?> -
spiritex
veterán
válasz
fordfairlane #19192 üzenetére
Így jó?
<p>
<label for='dbem_phone'><?php _e('Phone','events-manager') ?></label>
<input required type="text" name="dbem_phone" id="dbem_phone" class="input" value="<?php if(!empty($_REQUEST['dbem_phone'])) echo esc_attr($_REQUEST['dbem_phone']); ?>" />
</p>Bocsi, de nem értek hozzá...
-
spiritex
veterán
válasz
fordfairlane #19190 üzenetére
Köszi mindkettőtöknek!
Ha én a legegyszerűbben szeretném megoldani, akkor hogyan adom hozzá az input mezőhöz a required attribútumot?
Melyik sorba és mit kellene írnom? -
PumpkinSeed
addikt
válasz
spiritex #19188 üzenetére
Valoszinuleg ezt PHP-ban nem annyira konnyu megoldani, mint Javascript-ben. Nem ismerem se a Wordpress-t se a plugin-t. De valoszinuleg nem csak annyi lesz, hogy beleirsz ebbe valamit es kesz.
1. opcio: Javascripttel szabalyozod, hogy addig nem kerul elkuldesre a POST request ameddig a kotelezoen kitoltendo field-ek nincsenek kitoltve.
2. opcio: Ami sokkal csunyabb, de PHP. Elkuldi a POST requestet, es a PHP megvizsgalja, hogy a kotelezo field-ek ki vannak-e toltve. Ha nincsenek akkor visszanavigalja a user-t a form oldalra, hibaval, hogy ki kell tolteni amit ki kell.
-
spiritex
veterán
Sziasztok!
Ebben tudna valaki segíteni?
Előre is nagyon köszönöm! -
cidalain
veterán
válasz
Tomancsek #19184 üzenetére
ha direktbe megnyitod böngészővel, akkor nem megy át a kód az apache szerveren ami értelmezi. és mivel a np++ban direkt fájeléréssel éred el a fájlt szerkesztésre, ezért a böngészőnek csak úgy tudja továbbdobni, nem a szerveren keresztüli elérési útját (hisz azt nem is ismeri a np++)
azt gondolom, hogy ennek az első pillanatban látszódnia kellett volna, a böngésző címsor elárulta mi a hiba. és, ha ide megfelelően beírod a hibajelenséget, talán egyből rá is mondtuk volna: a nem fut le a php kódom nem ugyanaz mint a a php kódom kint virít a képernyőn, ahelyett, hogy az eredményét írná ki.
-
fordfairlane
veterán
válasz
Tomancsek #19184 üzenetére
nem tudom miert van ez ...?
Ez azért van így, mert a böngésző meg tudja nyitni a helyi fájlt közvetlenül, a fájlrendszeren keresztül, a webszerver megkerülésével. Ha viszont localhost url-t használsz, akkor a böngésző a helyi webszervertől kéri le a fájlt. Az meg először a php értelmezőbe tölti be a fájl tartalmát, és a php értelmező által generált kimenetet továbbítja a böngészőnek.
-
Tomancsek
újonc
válasz
PumpkinSeed #19183 üzenetére
Meg van a hiba ....
notepad++ ban irom a kódot és ha onnan inditom a böngészőt akkor nem csinal semmit a php resszel ,de ha külön nyitom a böngészőt es localhost...stb irom be az eléresi utvonalat akkor már fel dolgozza a php-t
nem tudom miert van ez ...? de legalább már tudok dolgozni -
Tomancsek
újonc
Szia .
A html kódokat le futtatja illetve az jól működik ...de ha PHP kodot szurok koze azt mar nem dolgozza fel ....
Nem értem 🤔🤔🤔. Szóval van html outputh. -
Tomancsek
újonc
Hali ,
Tudna valaki segiteni ...xampp-ot szeretnek telepiteni win 10-re szepen fel is települ el indul az apacs es az adatbazis kezelő is csak sajnos ha php kódot irok a bongészőben nem jelenik meg semmi
-
smallmer
őstag
Sziasztok,
egy opencart oldalt szerkesztek éppen és sajnos az alábbi hibát kapom:
bárkinek valami ötlete?
az oldal : [link]
ha a termékeknél bármelyik kategóriára nyomtok vagy simán egy termékre akkor ez jön be.köszönöm
-
hramon94
tag
Sziasztok. Egy nyílászáró ajánlat készítő oldalt kellene csináljak. A megrendelő egy külföldi oldalt talált amihez hasonlót kellene készítsek. Ha beírom hogy a bal oldali vagy a jobb oldali szárny más méretű legyen akkor átrajzolja a képet hogy tudnám ezt megvalósítani? Hogyan tudnék ilyen rajzolni?
-
sztanozs
veterán
válasz
adika4444 #19165 üzenetére
Regular Expression-re keress rá.
-
simondr
senior tag
Sziasztok!
Bocsánat az OFFért, ha valaki tudja hol lenne ennek a témának helye, örülnék a segítségének.
Tehát, továbbra is PHP, Javascript fejlesztőt keresek eseti megbízásokra. Aki számlaképesen tud ilyen munkát vállalni, vagy esetleg van olyan ismerőse / rokona / munkatársa / akárkije az kérem ne habozzon, hanem írjon nekem privátot!
Köszönöm előre is!
-
adika4444
addikt
Sziasztok!
Hogy tudnék az itt használt linkesítéshez hasonló megoldást készíteni PHP-ban?
Annyival szeretném másként mint ami itt van a PH!-n, hogy [link]az url cím[/link] formában lehessen. A két link tag közé írt szöveget tenném be egy HTML a tag href-jébe és szövegnek is ezt írnám...Köszi!
-
Agostino
addikt
sziasztok
egy alap kis kódot akartam összerakni, de sajnos a google keresések sem vezettek sikerre. van egy oldalam, ami azt szeretném, ha x időnként frissítené magát és minden frissítésnél random tartalom töltődne be három lehetőség közül
ez
<meta http-equiv="refresh" content="2">
és ez együtt teszi is a dolgát
<?php
$messages = array('alma.html', 'barack.html', 'fuge.html');
echo $messages[rand(0, count($messages) - 1)];
?>viszont az lenne az igazi, ha az array be is tudná olvasni a html fileok tartalmát. sajnos az include() lehetőséget hiába variáltam : [ include nélkül meg csak tisztán a szöveg olvasódik be. mondjuk legalább szépen forog.
-
Boryszka
tag
Sziasztok!
Kis segítség kellene egy pitiáner feladathoz! Van sql-ben egy Egyebek táblám id és szöveg oszloppal, az id-ben automatikusan növekszik az érték 1-től, ami elsődleges kulcsot kapott, a Szöveg oszlopban pedig idézetek vannak. Azt szeretném, hogy ha valaki feljön az oldalamra, akkor random jelenjenek meg idézetek, de egyszerre csak egy. Arra gondoltam, hogy generálni kéne 1-től max. id értékig egy számot és abból a sorból kivenni azt az idézetet, aminek az id értéke megegyezik a legenerált értékkel!
Ha ebben tudnátok segíteni lekódolva, azt megköszönném!
Ehhez itt van az eddig elkészített php kódom:
<?php $servername = "localhost";
$username = "basd";
$password = "asd";
$dBName = "asdasd";
// Create connection
$conn = new mysqli($servername, $username, $password, $dBName);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//echo "Kapcsolódás sikeres!";
$sql = "SELECT Szöveg FROM Egyebek";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo $row["Szöveg"];
}
} else {
echo "0 results";
}
$conn->close();
?> -
válasz
rootkiller #19153 üzenetére
Igen pörög, mert egy másik url-re vár, pontosan erre: [link].
-
rootkiller
őstag
Sziasztok!
Van a következő URL: https://vm.mtmt.hu/search/slist.php?AuthorID=10040431&pr_on=1&Scientific=1
Ez egy példa, de a lényeg, hogy azt szeretném elérni, hogy az itt megjelenő első 5, vagy kevesebb esetén annyi találatot meg tudjam jeleníteni egy másik (WordPress) oldalba ágyazva.
Az oldalba az alapvető furcsaság, hogy egy ideig teker mire valamit megjelenít, így a következő kód üres eredményt ad:
<?php
$ch = curl_init("https://vm.mtmt.hu/search/slist.php?AuthorID=10040431&pr_on=1&Scientific=1");
curl_exec($ch);
?>Találtam doksikat, ahol definiálva van ilyen hogy &mode=xml vagy &mode=html opció de ugyanúgy nincsen eredménye a dolognak sajnos
-
DS39
nagyúr
válasz
SUPREME7 #19150 üzenetére
ezt a részét "kijátszottam" ezzel a JavaScripttel:
function changePage() {
if (self.parent.frames.length != 0) {
self.parent.location=document.location;
}
}
changePage();így átirányít, és az url is rendesen látszik (+ reklám csík nuku):
http://users.atw.hu/<regisztrált_azonosító>/index.php?id=7és ha megnézem az oldal forrását így nincs iframe-ben sem.
-
DS39
nagyúr
Van valakinek tapasztalata az ATW.hu-s ingyenes tárhellyel és domainnel?
redirect linkhez ezt szoktam használni:
"http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
Ezzel megkapom, hogy, pl: http://www.valami.hu/index.php?id=7 -> tehát a teljesen url-t paraméterekkel együtt.
na most ezen az oldalon a REQUEST_URI a paramétereket nem tartalmazza, és nem jövök rá, hogy miért? illetve milyen más módon tudnám ezt megkapni? -
Janaboy
veterán
Sziasztok,
Lenne itt olyan PHP+mysql szaki aki segitene nekem szívesen egy API "megirasaban"?
Van egy kesz githubon elerheto rendszer, csak at kellene dolgozni.
Sajna en a kód megirasahoz süket vagyok, de remélhetőleg tudok szolgálni a szükséges adatokkal.
Ha van aki szívesen segitene es szanna ra idot, akkor irjon privit es leirom az egeszet cakkpakk.Koszi,
Udv -
Lacc
aktív tag
válasz
disy68 #19145 üzenetére
Az en celom csak a variables variable korlatozodott, nem volt celom a teljeskoru kirefelgetes.
Akkor ott van meg a
property_exists()
metodus, csak hogy meglegyen a teljesseg igenye.
Meg ugye bejon mas is, amirol hallgattam a peldaban, ugye a amit leirtasl fuggvenyeket azok a "Class/Object functions" gyujtoneven talalhatoak meg.Viszont ezert sem erdemes belemenni melyebben forumon, de meg kell emliteni, ha itt van a method_exists() hogy az nem egyenlo a
function_exists()-
el. Viszont ami miatt muszaj voltam irni, az az, hogy amethod_exists()
csak megnezni, hogy az adott osztalynak van-e olyan nevu fuggvenye. Nos ez tobb esetben is TRUE-t add visza. Sajnos akkor is TRUE jon, ha statikus metodus. Ilyen esetben ha statikus metodust probalsz meg peldanyszintukent hivni akkor jon az Exception. Masik ami miatt ez rossz, hogy ez TRUE-t add vissza, ha metodus lathatosaga private vagy protected. Ebben az esetben jobb azis_callable()
amely le is csekkolja, hogy tenyleg megtudod-e hivni?!
Masik, hogy az is_callable() kiszuri a magic metodusokat, mint a __constructor. A method_exists() ugyanugy TRUE-t add vissza.
Radasul az is_callable() jo parositast alkot a __call magich method-dal.Ennel sokkal jobb a ReflectionClass, tobb informacio es szuresi lehetoseg van.
De ez elegge mar advanced tema. (Nekem nincs tobb idom most ezt kifejteni)
-
disy68
aktív tag
A dinamikus osztály példányosítás mellé a metódus hívást tenném még hozzá, mint hasznos feature, ezeket alkalmaztam már én is. Ezek mellé hasznos lehet még a class_exists() és a method_exists().
class Something {
public function someMethod() {
echo "something";
}
}
// máshol
$className = "Something";
$methodName = "someMethod";
if (class_exists($className)) {
$something = new $className();
if (method_exists($something, $methodName)) {
$something->$methodName(); // echo "something";
} else {
// do something when method does not exist
}
} else {
// do something when class does not exist
} -
Lacc
aktív tag
válasz
tacsko833 #19142 üzenetére
Doink, jól mondta. Sőt, Doink jól mutatta
${$valami}
, ezt a{}
formátumot érdemes megjegyezni (lásd lentebb).
Dinamikus változóval nem kell ennyire foglalkozni, de gyakorlással felfogható.Dinamikus változó szemlélete, inkább a Reflection témakörében fordul elő. Ha nem nagyon érdekel az Architekt, akkor valszeg sosem fogsz vele találkozni. Viszont hasznos is tud lenni a dinamikus elérés
Lásd: Dinamikusan tudsz a Foo-nak létrehozni property-t
class Foo{
public function createProperty($name, $value){
$this->{$name} = $value;
}
}
$foo = new Foo();
$foo->createProperty('hello', 'something');
print $foo->hello //somethingBár most nézve a PHP doc-ot, az első hivatalos példa, pont a variable property. A felhasználók példájánál már ott van a 3. és 4. példa is.
Ez a negyedik kivételesen jó példa:class Foo {
public function hello() {
echo 'Hello world!';
}
}
$my_foo = 'Foo';
$a = new $my_foo();
$a->hello(); //prints 'Hello world!'Ebből is látszik, hogy egy osztály objektumát az osztály neve alapján hogyan lehet létrehozni, itt az osztály neve egy sima string érték a $my_foo változóban. Ezzel kapcsolatos kérdéssel már sok helyen találkoztam, és én is csináltam, mert egyszerű, átláthatóbb és a PHP haver ebben.
Reflection-nél pedig a példában a foreach-es részt nézném át.
-
Doink
aktív tag
válasz
tacsko833 #19141 üzenetére
A $$tarolo ugyan az mintha azt írnád hogy $felhasznalo HA $tarolo = 'felhasznalo'.
Becsületesen kiírva ez történik:
${$tarolo} => ${'felhasznalo'} => $felhasznaloSzóval ha az van írva a kódba hogy $$tarolo = "Anna" akkor valójában $felhasznalo = "Anna" hajtódik végre
HA a $tarolo értéke 'felhasznalo'.Dinamikus változóneveknek érdemes elkerülni mert átláthatatlan kódot eredményez és nehéz példát mondani arra amikor értelme van normális adatszerkezetek használata helyett.
-
tacsko833
csendes tag
Bocs, hogy értetlenkedek, csak szeretném megérteni
-
tacsko833
csendes tag
válasz
disy68 #19140 üzenetére
disy68 köszi a példát, a tiédet értem is, de az én példámat nem vágom
Az enyémben :
$tarolo = "felhasznalo";
$$tarolo = "Anna";print "$felhasznalo<br>"; // Returns Anna ---ez a felhasznalo egy érték, ezt nem értem, hogy lett $$tarolo érték belőle
print $$tarolo; //Returns AnnaMegpróbálom átírni a te példádra akkor
$Hello = "felhasznalo";
$a = "Anna";$felhasznalo; //Returns ANNA ~ami így nemigen működik
$a; //Returns ANNA -
disy68
aktív tag
válasz
tacsko833 #19139 üzenetére
A $valami egy változó, ami futás során kerük kiértékelésre.
A $$valtozo szintén egy változó, aminek a neve a $valtozo értéke. A php feldolgozó addig oldja fel változóként a $ utáni szoveget, amíg el nem jut az első $ jelig, az így kapott eredmény egy változó lesz (függően a helyétől a kifejezésben deklaráció, ha eddig nem létezett, hivatkozás vagy érték).Egy szemléltető példa a lentebb linkelt php manual hozzászólásaiból:
<?php
//You can even add more Dollar Signs
$Bar = "a";
$Foo = "Bar";
$World = "Foo";
$Hello = "World";
$a = "Hello";
$a; //Returns Hello
$$a; //Returns World
$$$a; //Returns Foo
$$$$a; //Returns Bar
$$$$$a; //Returns a
$$$$$$a; //Returns Hello
$$$$$$$a; //Returns World
//... and so on ...//Miért? Mert a php megengedi
bővebben
És persze erről jó tudni, de szerintem ilyesmi mágiákat nem igazán kifizetődő használni, mert nem túl átlátható.
-
tacsko833
csendes tag
válasz
disy68 #19138 üzenetére
Én még anno Turbo Pascalt tanultam
Ott a program elején deklaráltunk változókat.
Itt oké, hogy $tarolonak az értéke "felhasznalo" string az értéke... csak azt nem értem ebből a stringből hogy lett változó úgy hogy nem deklaráltuk?Itt nem a $ jel a változó deklarálását jelenti?
Nagyon nem vágom, bocs hogy akadékoskodom
-
disy68
aktív tag
válasz
tacsko833 #19137 üzenetére
Dinamikus változók, az én ízlésemnek kicsit túl dinamikus
Szóval:
1. A $tarolo változó értéke lesz: "felhasznalo"$tarolo = "felhasznalo";
2. A $felhasznalo változó értéke lesz: "Anna" ($$tarolo ->$felhasznalo => "Anna")$$tarolo = "Anna";
És a fenti deklarációk esetében az alábbiak ekvilalensek:
$$tarolo === ${$tarolo} === ${'felhasznalo'} === $felhasznalo
És lehet ezt még tetőzni $$$tarolo, stb..
-
tacsko833
csendes tag
Sziasztok,
Most kezdtem php-t tanulni könyvből(php 24 óra alatt...így nincs aki segítsen, gondoltam kérdezek itt, remélem nem gond.
Van egy kód, amiben nem értem a változókat...
<html>
<head>
<title>4.1. program Dinamikusan beállított és elért
változók</title>
</head>
<body>
<?php
$tarolo = "felhasznalo";
$$tarolo = "Anna";
// lehetne egyszerûen csak:
// $felhasznalo = "Anna";
// vagy
// ${"felhasznalo"} = "Anna"
// persze ekkor nem kellenek dinamikus változók
print "$felhasznalo<br>";
print $$tarolo;
print "<br>";
print "${$tarolo}<br>";
print "${'felhasznalo'}<br>";
?>
</body>
</html>Itt én szerintem van két változónk: a taroló(aminek az értéke felhasznalo), és a $tarolo(aminek az értéke Anna)
Mégis az első kiíratásnál a $ jel után az első tároló értéke van beírva, holott ez csak egy érték...nem egy változó. A képernyőn viszont az Anna felírat jelenik meg. Nemértem
Kicsi segítséget kérhetnék, hogy van ez?
-
Doink
aktív tag
válasz
trisztan94 #19135 üzenetére
A CONCURRENT kulcsszó miatt tudsz SELECT-eket futtatni a lefutás közben mert a tábla ilyenkor nem lockolódik. Vagyis amikor te futtatod a selectedet akkor ő még javában dolgozik a lekérdezéseden.
-
trisztan94
őstag
Sziasztok!
MySQL LOAD DATA INFILE-al egy nagy csv-t próbálok importálni adatbázisba. 500.000 sor, 93 oszlop és kb 600mb a fájlméret, InnoDB az AB motor (tudom, hogy MYISAM-al gyorsabb, de kötve vagyunk az innodb-hez).
Ez az import kódom:
$query = "LOAD DATA CONCURRENT LOCAL INFILE '$path'
INTO TABLE task_metas
CHARACTER SET utf8mb4
FIELDS TERMINATED BY '$delimiter'
OPTIONALLY ENCLOSED BY '$enclosed'
LINES TERMINATED BY '$lineending'
IGNORE 1 LINES
(@col1, @col2, @col3, @col4, @col5, @col6, @col7, @col8, @col9, @col10, @col11, @col12, @col13, @col14, @col15, @col16, @col17, @col18, @col19, @col20, @col21, @col22, @col23, @col24, @col25, @col26, @col27, @col28, @col29, @col30, @col31, @col32, @col33, @col34, @col35, @col36, @col37, @col38, @col39, @col40, @col41, @col42, @col43, @col44, @col45, @col46, @col47, @col48, @col49, @col50, @col51, @col52, @col53, @col54, @col55, @col56, @col57, @col58, @col59, @col60, @col61, @col62, @col63, @col64, @col65, @col66, @col67, @col68, @col69, @col70, @col71, @col72, @col73, @col74, @col75, @col76, @col77, @col78, @col79, @col80, @col81, @col82, @col83, @col84, @col85, @col86, @col87, @col88, @col89, @col90, @col91, @col92, @col93)
SET task_id=null, project_id=$project->id, full_comment=null, relevance=-1, note=null,
url=@col1, indexed=@col2, published=@col3, search_indexed=@col4, title_snippet=@col5, content_snippet=@col6, title=@col7, content=@col8, root_url=@col9, domain_url=@col10, host_url=@col11, parent_url=@col12, lang=@col13, porn_level=@col14, fluency_level=@col15, spam_level=@col16, sentiment=@col17, source_type=@col18, post_type=@col19, cluster_id=@col20, meta_cluster_id=@col21, tags_internal=@col22, tags_marking=@col23, tags_customer=@col24, entity_urls=@col25, images_url=@col26, images_width=@col27, images_height=@col28, images_legend=@col29, videos_url=@col30, videos_width=@col31, videos_height=@col32, videos_legend=@col33, pagemonitoring_sitemon_siteid=@col34, matched_profile=@col35, article_extended_attributes_facebook_shares=@col36, article_extended_attributes_facebook_likes=@col37, article_extended_attributes_twitter_retweets=@col38, article_extended_attributes_url_views=@col39, article_extended_attributes_pinterest_likes=@col40, article_extended_attributes_pinterest_pins=@col41, article_extended_attributes_pinterest_repins=@col42, article_extended_attributes_youtube_views=@col43, article_extended_attributes_youtube_likes=@col44, article_extended_attributes_youtube_dislikes=@col45, article_extended_attributes_instagram_likes=@col46, article_extended_attributes_twitter_shares=@col47, article_extended_attributes_num_comments=@col48, source_extended_attributes_alexa_pageviews=@col49, source_extended_attributes_facebook_followers=@col50, source_extended_attributes_twitter_followers=@col51, source_extended_attributes_instagram_followers=@col52, source_extended_attributes_pinterest_followers=@col53, extra_article_attributes_world_data_continent=@col54, extra_article_attributes_world_data_country=@col55, extra_article_attributes_world_data_country_code=@col56, extra_article_attributes_world_data_region=@col57, extra_article_attributes_world_data_city=@col58, extra_article_attributes_world_data_longitude=@col59, extra_article_attributes_world_data_latitude=@col60, extra_author_attributes_id=@col61, extra_author_attributes_type=@col62, extra_author_attributes_name=@col63, extra_author_attributes_birthdate_date=@col64, extra_author_attributes_birthdate_resolution=@col65, extra_author_attributes_gender=@col66, extra_author_attributes_image_url=@col67, extra_author_attributes_short_name=@col68, extra_author_attributes_url=@col69, extra_author_attributes_world_data_continent=@col70, extra_author_attributes_world_data_country=@col71, extra_author_attributes_world_data_country_code=@col72, extra_author_attributes_world_data_region=@col73, extra_author_attributes_world_data_city=@col74, extra_author_attributes_world_data_longitude=@col75, extra_author_attributes_world_data_latitude=@col76, extra_source_attributes_world_data_continent=@col77, extra_source_attributes_world_data_country=@col78, extra_source_attributes_world_data_country_code=@col79, extra_source_attributes_world_data_region=@col80, extra_source_attributes_world_data_city=@col81, extra_source_attributes_world_data_longitude=@col82, extra_source_attributes_world_data_latitude=@col83, engagement=@col84, reach=@col85, provider=@col86, generator_type=@col87, source_extended_attributes_alexa_unique_visitors=@col88, article_extended_attributes_twitter_likes=@col89, extra_author_attributes_description=@col90, article_extended_attributes_linkedin_shares=@col91, extra_source_attributes_name=@col92, word_count=@col93,
created_at=NOW(), updated_at=NOW()";A query futtatása után visszakapok egy számot arról,hogy mennyi sor került be adatbázisba, ami eddig mindig helyes volt.
A probléma az, hogy amikor megnézem az adatbázist, sokszor nem annyi sort pakol be rögtön, mint amenynit visszaad a query. 519.000-nek kellene lennie, de pl. a legutóbbi importnál csak 463.000 volt. Ennél furcsább, hogy ha pár mp múlva újra lekérem az ab táblát, már több sort mutat benne - kb 1000-esével növekedik cca 30mp-enként.
Tehát nagyjából egy 40p alatt felmegy a tényleges 519.000 sorra az inserted sorok száma.
Ez miért van? Olyan, mintha utólag aszinkron pakolná be a sorokat. Ki lehet ezt valahogy kerülni?
+ update
Még az is furcsa, hogy az importált sorok lekérésénél, amikor még fut ez az aszinkron 'utóimport(?)' elszáll a szerver memóriatúllépés miatt, de csak ha azokat a sorokat kérem le. Ha egy korábban futtatott import sorait kérem le, no problemo.
Olyan lehet, hogy a MYSQL szerver lecache-elte azokat a sorokat amire már nem volt elég memóriája és szépen üríti? Szintén szuper lenne ide egy megoldás -
trisztan94
őstag
válasz
trisztan94 #19133 üzenetére
Wow, oké, rájöttem.
Helyesen rendezte ez, csak én csökkenő sorrendbe akartam rakni és valamiért feltételeztem, hogy telepatikus a php...
Bocsi, meghalt az agyam egy kicsit.
-
trisztan94
őstag
válasz
disy68 #19132 üzenetére
Néztem a
usort
-ot, de valamiért nagyon furcsán működik:Ha a
total_rows
index alapján rendezem, nem történik semmi:usort($array, function($a, $b) {
return intval($a['total_rows']) <=> intval($b['total_rows']);
});Output:
array:2 [▼
0 => array:4 [▼
"user_id" => "4"
"total_rows" => "250"
"delete_member" => "0"
"phase" => "1"
]
1 => array:4 [▼
"user_id" => "3"
"total_rows" => "1050"
"delete_member" => "0"
"phase" => "3"
]
]De ha más, jelen példában a
user_id
alapján, akkor működik ahogy kéne:usort($project_members, function($a, $b) {
return intval($a['user_id']) <=> intval($b['user_id']);
});Output:
array:2 [▼
0 => array:4 [▼
"user_id" => "3"
"total_rows" => "1050"
"delete_member" => "0"
"phase" => "3"
]
1 => array:4 [▼
"user_id" => "4"
"total_rows" => "250"
"delete_member" => "0"
"phase" => "1"
]
]Mi nem tetszik neki a
total_rows
-ban? -
disy68
aktív tag
válasz
trisztan94 #19130 üzenetére
Használj inkább usort-ot:
function cmp($a, $b) {
return $a["total_rows"] - $b["total_rows"];
}
usort($arr, "cmp"); -
Doink
aktív tag
válasz
trisztan94 #19130 üzenetére
<?php
$data = [
['total_rows' => 1, 'edition' => 2],
['total_rows' => 98, 'edition' => 2],
['total_rows' => 67, 'edition' => 7]
];
foreach ($data as $key => $row) {
$total[$key] = $row['total_rows'];
}
array_multisort($total, SORT_DESC, $data);
var_dump($data);
?>Ha a számaid stingként vannak tárolva (macskakörmöt látok a példádban) akkor:
array_multisort($total, SORT_DESC, SORT_NUMERIC, $data); -
trisztan94
őstag
Sziasztok,
Valószínű triviális a kérdésem.
Adott a következő array:
array:2 [▼
0 => array:4 [▼
"user_id" => "4"
"total_rows" => "250"
"delete_member" => "0"
"phase" => "3"
]
1 => array:4 [▼
"user_id" => "3"
"total_rows" => "1050"
"delete_member" => "1"
"phase" => "1"
]
]Szeretném rendezni a
total_rows
alapján. Tehát az legyen a legfelső tömb első eleme, amelyiknek a legnagyobb atotal_rows
értéke.array_multisort
-al próbálkoztam eddig, de nem sikerült.Hogyan kellene ezt megcsinálni?
-
func93
senior tag
válasz
fordfairlane #19127 üzenetére
zedz,fordfairlane: Köszi!
-
fordfairlane
veterán
válasz
func93 #19125 üzenetére
Legegyszerűbben a html5 validációs mechanizmussal, ami többé kevésbé már egyre jobban támogatott fícsör a modern böngészőkben.
HTML5 Form Validation With the “pattern” Attribute
Létezik validációs jquery plugin, sőt pluginok is, ami kompatibilis a régebbi böngészőkkel. jQuery Validation Plugin
Az igazi validáció a domain layer feladata, tehát szerveroldalon is el kell végezni az adatok validálását.
-
func93
senior tag
Sziasztok!
Inkább kezdő php-s volnék. Hogyan lehetne a legegyszerűbben megoldani azt, hogy pl: egy reg. űrlapnál adott inputokba csak betűket, vagy csak számokat lehessen írni?
-
simondr
senior tag
Sziasztok!
jórészt PHP-ban íródott weblap fejlesztéséhez keresek embert. Számlaképesség kötelező.
6-8-10 órás fejleszésekről lenne szó.Akit érdekel privátban keressen. Köszönöm!
-
sztanozs
veterán
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...
-
SUPREME7
őstag
válasz
bucihost #19119 üzenetére
Akkor az ellenőrzésnek a while cikluson belül kellene lennie, nyilván amikor még kevesebb mint 5 akkor elkezd futni, de utána nincs kontroll.
És akkor csak szimplán ki kell lépned a ciklusból egy break-kel.
While(... )
{
$i++;
if ($i > $maximum) {
break;
} else...
}A te példádban ugyan elkezdted az $i-t emelgetni de nem kezdtél vele semmit. Gondolom fejben megvolt ez valamikor
-
bucihost
senior tag
ismét itt...
Adott egy php script, ami lefuttat egy parancsot (curl).
A lényeg az (lenne) hogy mindaddig futtatja a curlokat, amíg a sikeres futások száma el nem éri az 5-öt.
(leszedi a pid et, majd ha fut akkor mysqlbe +1-el)<?
$aktualis = mysql_query("SELECT * from `ipadatbazis` where id = 1");
$aktleker = mysql_fetch_array($aktualis);
$aktszam = $aktleker['szamlalo'];
$maximum = '5';
if ($aktszam < $maximum)
{
$i=0;
$sqllekerd = mysql_query("SELECT * FROM `ipadatbazis`");
While($lekerdadat = mysql_fetch_array($sqllekerd))
{
$i++;
$command = "";
$pid = exec($command, $output);
sleep(1);
exec("ps -p $pid", $kimenet);
if (count($kimenet) > 1)
{
$plusz = "UPDATE `ipadatbazis` SET `szamlalo` = szamlalo+1 where id = 1";
mysql_query($plusz);
}
}
}
else
{
die();
mysql_close($kapcsolat);
}
?>Addig eljut, hogy elkezdi az $commandot futtatni egymás után valamint +1 el az adatbázisba, viszont ha eléri az az 5-ös "limitet" nem áll meg. Futtatja magát a végtelenségig amig ki nem lövöm kézzel. Ha kilövöm és újra elindítom a php-t akkor már nem fut le, mivel az adatbázisban szereplő szám jóval több mint 5. Mi lehet a gond, mit rontottam el?
-
Lacc
aktív tag
válasz
Jinxb1rd #19112 üzenetére
Tapsi felvetése jogos, de SQL arthmetic operátorok is jók ide
. Én mindenképp szorzással gondolkodom. Azzal meglehet kapni a kívánt sorrendet a példád alapján. Így fejben nézve..., nekem az ilyen szorzások csak terület számításnak tűnnek
Ötletnek esetleg tárolt eljárást lehet írni, igaz nem kötelező, de jobb.
1. Arról van szó, hogy a csempe méretnél ott az X ahelyett jobb lenne a * mint szorzás, azt lehet parselni, vagy regex-szel kiszedni és összeszorozni, az értéket a szórzás jeltől álló bal és jobb operandusokat.
2. Lehetőségként split-elni, azt a stringet, és úgy is lehet szorozni.
Az 1. és 2.-ra itt találsz egy példát, amitől elmegy majd a kedved.
De külön itt is van, hogy a varchar szereplő matematikai kifejezést hogyan lehet exec-elni.
3. A kedvencem, és ez lenne az ideális szerintem: 1 oszlop a szélességnek és 1 oszlop a magasságnak. Nem tudom, hogy mennyire tudsz migrációt végrehajtani az adattáblán (technikai, vagy üzleti okok miatt)
Itt is szorzással lehetne a méreteket meghatározni, ez lehetne az első ORDER BY kritérium. Második kritériumnak pedig ottlehetne hogy a csempe szélesség vagy magasság alapján rendezne. Így lazán elkerülhető sort_order (Tapsi javaslata alapján) a 3x2 és 2x3 dilemma, mert ugye második ORDER BY kritérium ezt tudná tisztázni is. (Kivéve ha manuálisan akarjátok ezt is állítani, akkor van értelme a sort_order-nek).
Bár ilyen esetben ott van a 24-es csapda. 4x6, 6x4, 3x8, 8x3, 2x12, 12x2-es méretek. Itt is lehet kell a sort_order, bár ez tényleg a megrendelői kritérium alapján dől el. -
bucihost
senior tag
Sziasztok!
Adott egy mysql adatbázis, amibe egy program logolja a szerverre csatlakozott IP címeket.
ID IPPORT IDO
amikor le akarok kérdezni az adatbázisból egy adott ip+port párost,
SELECT *
FROM `ipadatbazis`
WHERE ipport = 'xxx.xxx.xxx.xxx:xxxx'akkor ezt kapom vissza:
A MySQL üres eredményhalmazt adott vissza (pl. nulla sorok). (a lekérdezés 0.0003 másodpercig tartott)
Mi lehet a nyűge? ha ID-re vagy IDO-re szűrök rá, akkor lehoz mindent amit kell
-
Jinxb1rd
addikt
válasz
Jinxb1rd #19111 üzenetére
Végül csak php oldottam meg végül. Akit érdekelne esetleg:
function cmp_size($a, $b) {
$a_pieces = explode("_", $a);
$b_pieces = explode("_", $b);
for ($i=0; $i < 3; $i++) {
$a_temp = floatval(str_replace(',', '.', $a_pieces[$i]));
$b_temp = floatval(str_replace(',', '.', $b_pieces[$i]));
if ( $a_temp == $b_temp )
continue;
else
return ($a_temp < $b_temp) ? -1 : 1;
}
return 0;
}
uasort($size_array, 'cmp_size'); -
Jinxb1rd
addikt
válasz
Jinxb1rd #19110 üzenetére
Félmegoldást sikerült kitalálni:
ORDER BY ABS(REPLACE(termekSize, ',', '.'))
Ezzel az első tagra vonatkozóan jól sorbarendezi, azonban a második tagnál már nem vesz figyelembe semmit.
CHARINDEX és a LEFT megoldásokkal szórakoztam még, de gondolom azért nem működik, mert nem minden esetben van találat charindexre és error-t dob.
-
Jinxb1rd
addikt
Sziasztok!
Adatbázisban a következő adatok vannak: 1_1, 2_2, 1,4_2, 15_15 (ezek csempeméretek cm-ben)
Ezeket sorbarendezve ORDER by termekSize-t használva, majd azt megformázva a következő lista alakul ki:
1x1
1,4x2
15x15
2x2Van valami sql beállítás vagy php parancs, amivel lehetséges rendesen sorbarendezett listát kapni, tehát így:
1x1
1,4x2
2x2
15x15?
-
DS39
nagyúr
válasz
adika4444 #19108 üzenetére
itt elég jól bemutatják, mi a kettő között a különbség, meg egyáltalán, hogyan is kell:
https://softwareengineering.stackexchange.com/questions/78225/using-join-keyword-or-not
itt ki is tudod próbálni, a join variációk leírása mellett: [link] -
DS39
nagyúr
válasz
adika4444 #19106 üzenetére
belső select-ek használata megnöveli a lekérdezés futási idejét.
mindenképp a táblák összekapcsolását javaslom, lehet azt join-nal, vagy simán a where-ben összekapcsolási feltétellel.az egyik tábla elsődleges kulcsát kell összekapcsolni a másik tábla külső kulcsával. (egy a többhöz kapcsolat)
-
adika4444
addikt
válasz
adika4444 #19105 üzenetére
Érthetetlen katyvasz ami leírást találtam róla
úgyhogy most selectben select utasítással próbálom megoldani, eddig nagyobb a siker mint a join-nal...
Az a baj hogy a joinnál értelmetlenül sok sor jelenik meg, ha meg natural-lal használom akkor valahogy csak egy sort akar megmutatni... -
adika4444
addikt
válasz
DNReNTi #19102 üzenetére
Egy topik maradjon egy kategóriában.
De ha odateszem a topik mellé hogy melyik kategóriába tartozik, akkor hogyan tudom a legutolsó 25 komment alapján a legutolsó 25 topikot kiválasztani? Mert a kommentek táblájában nem tudok arra szűrni hogy melyik kategória, hacsak nincs arra mód hogy úgy válasszak ki valamit hogy az egy másik táblában is megfeleljen adott feltételnek... -
DNReNTi
őstag
válasz
adika4444 #19101 üzenetére
Ahh... Tulbonyolitod.
Egy topik csak egy kategoria ala tartozhat? 1:n kapcsolat? Akkor egyszeruen kell egy mezo a topik tablaba, mittudomencategory_id
ami egyertelmuen azonositja. Ha egy topik tobb kategoria ala besorolhato akkor n:m kapcsolatrol beszelunk, kell tehat egy kapcsolotabla, ami tarolja hogy melytopic_id
-k escategory_id
-k vannak osszerendelve. Akarhogy is, nem olyan bonyolult ez, szerintem te gondolod tul. -
adika4444
addikt
Sziasztok!
MYSQL és PHP egybe kérdésem lenne.
Adott egy forum_posts, forum_topics és forum_cats tábla.
A posts-nál írom a dátumot, tehát ki tudom választani a topikokat a legutóbb hozzászólthoz képest visszafelé rendezné, majd a topics táblából ki tudom nyerni a téma nevét az id alapján...
Viszont vannak kategóriák. Az, hogy egy topic melyik kategóriába tartozik, azt hogy tudnám úgy tárolni, hogy a listázásnál ki tudjam a legutóbbi hsz szerint választani az adott kategóriába tartozó topikokat?
A baj a több táblás lekérés.
Én arra gondoltam, hogy kiválasztani limit-tel a legutóbbit, aztán az előtte lévő topikot, majd lekérni a topik nevét a topics táblából, és vizsgálni hogy a kiválasztott kategóriába tartozik-e. Ha igen kiírom, és hozzáadok a $wrote változóhoz egyet, ha nem akkor meg lépek a következőre továbbra is limittel, és ellenőrzöm amit előbb írtam...
Bocs ha kicsit érthetetlenül fogalmaztam meg, de szerintem nem is a megfelelő irányból közelítem meg a problémát.
Segítségért köszi előre is!
Új hozzászólás Aktív témák
Hirdetés
- BESZÁMÍTÁS! Gigabyte H610M i5 13400F 16GB DDR4 512GB SSD RX 6700XT 12GB DeepCool MATREXX 40 650W
- BESZÁMÍTÁS! Intel Core i9 9900KF 8 mag 16 szál processzor garanciával hibátlan működéssel
- iKing.Hu - Apple iPhone 13 Pro Max - Graphite - Használt, újszerű
- Csere-Beszámítás! Számítógép PC Játékra! Intel I7 6700/ RX 580 8GB / 32GB DDR4 / 500GB SSD
- 14" Dell Latitude laptopok: 5400, 5480, 5490, 7480, E7440, E7450 / SZÁMLA + GARANCIA
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged