- Karácsonyfaként világíthat a Thermaltake új CPU-hűtője
- Az USA vizsgálja a RISC-V kínai terjedésének kockázatát
- Kicsit extrémre sikerült a Hyte belépője a készre szerelt vízhűtések világába
- Egészen nagy teljesítményspektrumon fedné le a mobil piacot az AMD
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Gaming notebook topik
- OLED TV topic
- Amlogic S905, S912 processzoros készülékek
- 3D nyomtatás
- Apple notebookok
- Vezetékes FEJhallgatók
- AMD Navi Radeon™ RX 7xxx sorozat
- Kicsit extrémre sikerült a Hyte belépője a készre szerelt vízhűtések világába
- Egyre gyorsabban ügyködik saját HBM memóriáján Kína
Hirdetés
-
Saját Redmi Note 13 Pro+ a világbajnok focicsapatnak (és indiai rajongóiknak)
ma Argentína nemzeti válogatottjának mezével díszítik az új Redmi különkiadást.
-
Konzolokra is megjelenik a Fera: The Sundered Tribe
gp A kooperatív szörnyvadászós játékhoz a minap egy friss trailert kaptunk.
-
Agyi chipes gyártóba fektetett a kriptocég
it A Tether 200 millió dollárt fektet a Blackrock Neurotech agyi chipes vállalatba.
Új hozzászólás Aktív témák
-
MODERÁTOR
válasz Sk8erPeter #9101 üzenetére
Fogalmam sincs. Egészet kidobtam, újra csináltam és működött. De tényleg
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
MODERÁTOR
válasz Sk8erPeter #9103 üzenetére
Ja igen. Azt kidobtam a kukába, az érdekesség hogy anélkül sem ment, módosítva (azt nem írtam, de reggel kidobtam a kukába). Valamit marhára elírhattam vagy nem tudom.
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
modder
aktív tag
felteszed az új kódot?
Én még mindig próbálom megfejteni, hogy mi volt a probléma a te megoldásoddal.$this->fb = new Facebook(array("appId" => APP_ID, "secret" => APP_SECRET, "cookie" => true));
$fb = $this->fb;
if($user_id = $fb->getUser()) {
// get user data
} else {
// redirect
}Abba az if ágba nem lép bele annak ellenére, hogy már engedélyezte a user az alkalmazást, így a getUser()-nek vissza kéne adnia egy id-t. Az előző formodon újra a facebook gombra kattintva már nem kellett volna redirectelnie fészbuk login oldalra, de ahogy láttam tegnap éjjel, mégis megtette...
-
Lacces
őstag
válasz Speeedfire #9074 üzenetére
Na majd megnézem én ezt este odahaza, kíváncsi vagyok rá..., hogy hol van, mert nem tudtam az Istennek sem átadni egy másiknak..
-
Speeedfire
nagyúr
-
modder
aktív tag
válasz Speeedfire #9108 üzenetére
Na itt egy érdekes "probléma", aki elég bátor az megválaszolhatja, hogy ez-e az elvárható működés vagy sem
[ Szerkesztve ]
-
-
Lacces
őstag
válasz Speeedfire #9108 üzenetére
Példakódot majd tudnál adni? Én komolyan itt a tutorial-os blogot néztem, és nem látom ezt a rulet, vagy a Controller osztályban bárhol is, config fájlt is átnéztem...
-
Lacces
őstag
A másik nagy bajom, az erősen félrevezetés a doksikban, vagy legalább is nem egyszerű olyannak aki most használ php frameworkot.
Gondoltam kipróbálom ezt, és telepítem:
yiishop
Hát nem jött össze, eléggé hogy is mondjam... már orosz rulettezek vele, de nem működik. már -1 egér
Azt írja, a modul könyvtárba csomagoljom ki. 2 kérdésem van, lenne a szerző felé, hol van a modul könyvtár? és hogy shop mappát rakjam oda, vagy a shop mappa tartalmát?Valaki tud benne segíteni?
-
Sk8erPeter
nagyúr
"hol van a modul könyvtár?"
Gondolom létre kell hozni.... és igen, gyors Guglizás után - nem használtam még ezt a frameworköt - pl. itt mutatja a "Yii User Management Module" telepítésének módját: [link].
van ez a rész:
"Extract the Yii User Management Module under the modules/ directory of your new Web Application. Replace the _0.4 with the latest Version available.$ cd testdrive/protected
$ mkdir modules
$ cd modules
$ wget http://www.yiiframework.com/extension/yii-user-management/files/User_Management_Module_0.4.tar.bz2
$ tar xvf User_Management_Module_0.4.tar.bz2
""mkdir modules", magyarul ő is létrehozza a modules könyvtárat, aztán odanavigál, majd kibontja a modul tartalmát, amin belül először a modul nevét tartalmazó könyvtár van, ami jelen esetben - most letöltöttem - a "user" nevű.
"és hogy shop mappát rakjam oda, vagy a shop mappa tartalmát?"
Értelemszerűen ennél a modulnál is shop könyvtárat kellene beleraknod a modules könyvtárba. Ez ebben a formában elég logikus, gondolj bele, mi lenne, ha mondjuk 100 modult telepítenél, akkor 100 modul tartalma lenne ömlesztve? Az úgy irtó gány lenne.
Tehát ha most telepítenéd a fenti modult, meg azt a webshoposat, akkor elméletileg így kéne kinéznie a könyvtárszerkezetednek:yiikönyvtárad
|- ....
|- modules
|- shop
|- user
|- ...Épp azáltal lesz moduláris a felépítés, hogy jól elkülöníthető egységeket kapcsolsz hozzá a meglévő rendszeredhez (vagy épp választasz le róla).
Egész értelmesen sikerült megfogalmaznom egy liter bor és 5 sör után.
[ Szerkesztve ]
Sk8erPeter
-
Speeedfire
nagyúr
Nézd csak. [link]
class TestController extends CController
{
public $defaultAction = 'test';
public function actionTest()
{
}
}De, ahogy írja akár meglehet adni az urlmanager-ben is.
'components' => array(
'urlManager' => array(
'rules' => array(
'test' => 'test/test',
),
),
),Itt pl ha mármelyiket választod akkor a test controller test action-je lesz a default.
A modulok, úgy működnek, hogy létre kell hozni a protected alá egy modules mappát. Ide kell berakni a modulokat. Pl modules/user itt a user mappa alatt van a user extension. Lényegében akármilyen név alatt létre lehet hozni, mert a rendszer megfogja találni, de célszerű azért oda rakni, ahova a doksi írja.
De Sk8erPeter nagyon jól le is írta ezt neked. Ha bármi van kérdezz csak.
Sk8erPeter: Nem ég a beled?[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Speeedfire
nagyúr
Adott egy form, van rajta checkbox és select.
Miért van az, hogy ha nincsenek kitöltve akkor is elpostolja ezeket a form?
Checkbox-nál 0 értékkel, selectnél meg üres mező.Ezeket hogy lehetne kivédeni? Egyszerűen csak a feldolgozásnál megnézem, hogy empty() vagy yxz == 0?
Illetve olyan kérdésem lenne még hogy ha ezeken egy foreach-el megyek végig akkor lehet e valahogy továbbléptetni a foreach-et, vagy csak csináljak bele egy if-else ágat?Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Lacces
őstag
válasz Sk8erPeter #9113 üzenetére
Igen, a kérdésem után már én is leltem ilyesmikre, létre is jött, hajnali 1 körül
Az volt a gáz, hogy amit írt hivatalosba az shop/install (webbrowserbe) az nem volt jó... találtam mást, és akkor működött!
Meg a hivataloson is néztem a fórum bejegyzéseket néhányam a protected/modul-t írták...Alapból úgy indultam ki, hogy a shop/install az jó, de nem más volt jó. Egy másik url volt jó, valahol a google találat 10. oldalán láttam rá
Meg a példád alapján úgy tűnik ismét meg kell tanulnom az alap linux parancsokat, segítőkész lehet néha
-
Lacces
őstag
válasz Speeedfire #9115 üzenetére
A problémát nem tudom. Esetleg nem típus egyezőséget kell vizsgálni?
=== használni == helyet?Illetve olyan kérdésem lenne még hogy ha ezeken egy foreach-el megyek végig akkor lehet e valahogy továbbléptetni a foreach-et, vagy csak csináljak bele egy if-else ágat?
Nos szerintem ez pont így jó, ahogy leírtad
Erre pont a láncolt lista bejárás jut eszembe, pontosabban, amikor a láncolt listából bizonyos elemeket kell törölni. Az általános algoritmus erre, meg a stackoverflow-on írtam fel, és jobbat nem javasoltakwhile ( amíg van elem) { // foreach is jó
if( megvan amit kerestem)
delete // újraláncolás, az előtte és utána lévőt kötöm össze
else
tovább lépek
}Kábé így nézz ki elméletben, és kell az if-else ág bele, csak sima if-el nem működik jól
Sima while ciklussal sem lépett tovább... (igaz valami speciálisat kért a tanár) és felírtam fórumban és ott mondták, hogy kell az else is bele, hogy tovább lépjen a while ciklus -
Speeedfire
nagyúr
-
Lacces
őstag
válasz Speeedfire #9118 üzenetére
Köszi! Bár azért már a linuxot is inkább kattintásokkal szeretem használni nagyon elvok szokva a parancsoktól
-
Lacces
őstag
válasz Speeedfire #9114 üzenetére
Az első variációt és a linket nem értem
Nálam így nézz ki, config fájlban:
// Default Controller config:
'defaultController' => 'products',moduls/shop/controllers/ProductsController
class ProductsController extends Controller
{
...
public $defaultAction = 'products';
public function actionIndex()
{
....http://localhost/YiiShop/index.php -nál jön ez a hiba:
Unable to resolve the request "products".
Megoldva:
config fájlban így kell:
// Default Controller config:
'defaultController' => 'shop/products/index',[ Szerkesztve ]
-
Speeedfire
nagyúr
A lényege, hogy van a test controller és abban egy test action. Ott volt megadva neki, hogy a test action az alapértelmezett.
Ja, a moduloknak kicsit másabb az útvonala.
De itt akár egyből meg is adhatod neki az action-t, illetve ha az index kell neked akkor nem fontos oda írni, mert alapból az index a default action.'defaultController' => 'shop/products/index', //helyett
'defaultController' => 'shop/products',[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Lacces
őstag
válasz Speeedfire #9121 üzenetére
Lehet, hogy ez a Shop modul akkor máshogy működik, mint a többi
Nem működik nálam:
'defaultController' => 'shop/products',
'defaultController' => 'shop/products/',Csak az indexes változat:
'defaultController' => 'shop/products/index'Másik épp nézem át, de a javascript / jquery az hol tárolódik? (modul / framework)
-
Speeedfire
nagyúr
Hmmm...fura. Pedig mennie kellene így is.
A js/jquery fájlok itt vannak /framework/web/js
A hozzá való api meg itt van. Nagyon jól lehet vele dinamikusan js fájlokat behúzni vagy épp js scripteket csinálni, meg css stb stb.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Lacces
őstag
válasz Speeedfire #9123 üzenetére
Hm, ez tényleg fura,
Mert például ha a Home-ra kattintok (menüpont) akkor a Home jön be, de nem a Product jön be, hanem a default-os a site/index
-
Sk8erPeter
nagyúr
válasz Speeedfire #9115 üzenetére
A selectnél még oké, a checkbox kevésbé világos, mert az szerintem alapból nem szokott átmenni szerveroldalra, ha nincs semmi kipipálva.
Pl. select:
<select class="asdasd" name="form_elem_select[]">
<option>- semmi -</option>
<option value="blabla_1">Blabla 1</option>
<option value="blabla_2">Blabla 2</option>
<option value="blabla_3">Blabla 3</option>
<option value="blabla_4">Blabla 4</option>
</select>Ha így néz ki, akkor itt az első, a - semmi - lesz a kiválasztott option (mivel sehol nincs explicite a selected="selected"), a szerveroldalon pedig ezt kapod a $_POST-ban:
array (
'form_elem_select' => '- semmi -',
)Épp ezért inkább érdemes egy default üres értéket adni neki:
<select class="asdasd" name="form_elem_select[]">
<option value="">- semmi -</option>
<option value="blabla_1">Blabla 1</option>
<option value="blabla_2">Blabla 2</option>
<option value="blabla_3">Blabla 3</option>
<option value="blabla_4">Blabla 4</option>
</select>Így ez lesz a $_POST-ban:
array (
'form_elem_select' => '',
)Erre így könnyű ráereszteni egy empty() ellenőrzést, és akkor pampoghatsz, hogy válasszon ki valamit a júzer, ha kell.
A checkbox általában nem jelenik meg szerveroldalon, ha nem választasz ki semmit, úgyhogy azt nem vágom...
Az empty(), amire kérdeztél, teljesen jó, igen.
A foreach-et és más ciklusokat is tovább lehet léptetni "kierőszakoltan" continue-val: [link].
===
(#9117) Lacces : ez függ attól, van-e jóféle iterátor a bejárandó elemhez.
Meg a láncolt listánál szokták így is, hogy egyszerű legyen, mint egy marék lepkefing: while( loszar->next() ){...} .(#9122) Lacces :
"Másik épp nézem át, de a javascript / jquery az hol tárolódik?"
Őőőőő, nincs kereső a gépeden?
Letöltöttem a Yii-t, és nagyjából 10 másodperc alatt megvolt keresővel...[ Szerkesztve ]
Sk8erPeter
-
Lacces
őstag
válasz Sk8erPeter #9127 üzenetére
ubuntu 12.04 bétát használok, nekem nem találta meg, még a modulból is nekem kellett kihalászni... - ez nem az én napom
Lehet neked van igazad, nem tom, én még sosem láttam láncolt listára next() metódust-t írni.
De sosem izgatott túlságosan a téma, mindenhol a láncokon lévő végig sétálást láttam én is azt tanultam be -
Speeedfire
nagyúr
válasz Sk8erPeter #9127 üzenetére
Hmm...valóban most nézem, ez a yii gyerek. 2 input mezőt készít. Egy hidden-t 0 értékkel és egy láthatót 1-es értékkel.
Ez a continue jó ötlet.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
-
Speeedfire
nagyúr
Az miért lehet, hogy elpostolok valamit, ahol tömb ott több dolgot szeretnék vele kezdeni, de nem megy bele a feltételbe, pedig mutatja is a post, hogy az egy tömb.
foreach ($_POST['post'] as $tomb=>$value) {
if(is_array($tomb)) {
$value1 = $value[0]; $value2 = $value[1];
$this->_criteria->addCondition($tomb.'>= :val1 and '.$tomb.' <= :val2');
$this->_criteria->params[':val1'] = $value1;
$this->_criteria->params[':val2'] = $value2;
} else {
if(!empty($value)) $this->_criteria->addColumnCondition(array($tomb =>$value));
}
}Tehát fent, nem lép bele az is_array() résznél. Ez valami ficsőr? Vagy csak én vagyok béna?
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Speeedfire
nagyúr
válasz Speeedfire #9131 üzenetére
Na, jól van....nem jót vizsgáltam.
A $value értékét kellett volna...
if(is_array($value)) {Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Speeedfire #9132 üzenetére
ja, a $tomb az itt pont nem tömb lesz, hanem a tömbindex/kulcs.
$value1 = $value[0]; $value2 = $value[1];
Ez így ellenőrzés nélkül nem biztos, hogy túl jó ötlet, vagy garantált, hogy a $_POST['post'] aktuális elemén belül mindig lesz 0. és 1. index? (és nem lesz kevesebb vagy éppen több kulcs?)Sk8erPeter
-
Speeedfire
nagyúr
válasz Sk8erPeter #9133 üzenetére
Több biztos nem lehet, viszont valóban lehet olyan, hogy nem tölti ki mind a kettőt.
Ugye ez ilyen intervallumos dolog lenne, mint pl amikor venni akarsz valamit, hogy:
1000 - 5000 ft közötti dolgot érdekelnének.
Erre még írok valamit szerintem.Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Speeedfire #9134 üzenetére
Ha nem töltötte ki a másik mezőt, akkor akár megoldhatnád a kérdést default értékekkel, az első mező értékének függvényében.
Vagy egyszerűen kötelezővé teszed a második mező kitöltését is, meg is vizsgálod, megvan-e mindkettő, és csak ennek megléte esetén dolgozod fel a formot, és kész.===
(#9128) Lacces : közben eszembe jutott, hogy gyűlölöd a terminált. De létezik az Ubuntu default fájlkezelőjében is (Nautilus) kereső, ha nyomatsz egy Ctrl+F-et..... Meg nem is egy kétpaneles fájlkezelő van GNOME-hoz és KDE-hez egyaránt - de KDE-st is használatsz GNOME-on is, pl. akár Krusader (még talán ez viszonylag hasonlít a Windows-os Total Commanderhez, de sajnos eddigi tapasztalataim alapján egyik sem közelíti meg azt).
[ Szerkesztve ]
Sk8erPeter
-
Speeedfire
nagyúr
válasz Sk8erPeter #9135 üzenetére
A mező kitöltése nem kötelező, opcionális.
Viszont azt valóban megtudom nézni, hogy csak akkor keressen ha mind a kettő ki van töltve.
Esetleg még pluszban kliensoldani figyelmeztetés, ha csak az egyik van kitöltve.
A többi meg nem érdekel.
Na jó igen, de ez már csak kisebb prioritású dolog.if(!empty($value1) && !empty($value2)) {
$this->_criteria->addCondition($hirdetes.'>= :val1 and '.$hirdetes.' <= :val2');
$this->_criteria->params[':val1'] = $value1;
$this->_criteria->params[':val2'] = $value2;
}[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Lacces
őstag
válasz Sk8erPeter #9135 üzenetére
Nem gyűlölöm, csak elszoktam tőle, erősen már . A mai napig lusta vagyok az apache2 szerver újraindítását megtanulni terminálból... netről lesem.
Nautilussal meg az a bajom, hogy nem tud mélységi keresést végrehajtani, csak az adott mappákban, almappákban nem... legalább is nálam.
-
Entrecampos
csendes tag
@Sk8erPeter, @Speeedfire:
Ne haragudjatok, hogy csak így beleszólok, de nagyon túl bonyolítsátok a dolgokat. Ha már a formot, post vagy get metódusban külditek, és pusztán csak az inputok értékét szeretnétek feldolgozni, mért teszitek külön tömbbe mikor már alapból tömb? Akkor célszerű, ha checkboxokat dolgoztok fel.
$_POST-oljuk:
<select class="asdasd" name="valaszt">
<option>- semmi -</option>
<option value="blabla_1">Blabla 1</option>
<option value="blabla_2">Blabla 2</option>
<option value="blabla_3">Blabla 3</option>
<option value="blabla_4">Blabla 4</option>
</select>Szerveroldal:
if($_POST["valaszt"] == "blabla_1"){
echo "blabla_1";
}elseif($_POST["valaszt"] == "blabla_2"){echo "blabla_2";
}
// etc... etc...
else{echo "valami";
}Szóval ennyi, nem kell ezt túl bonyolítani plusz ciklusokkal játszani/fölösleges terheléseket róni a szerverre (persze nagy adatmennyiségnél).
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz Entrecampos #9138 üzenetére
"nagyon túl bonyolítsátok a dolgokat"
Nekem meg nem bánTSa és nem is hasogaSSa a fülemet...
Jó kezdés volt.A tömbös elrendezés valóban véletlenül maradt benne, és azért, mert ezt ollóztam egy korábban általam készített, formelem-klónozós scripthez tartozó markupból:
http://jsfiddle.net/Sk8erPeter/RqYYj/
Ha klónozod az elemeket, jobban jársz, ha nem írod felül az előző elemet, hanem lehetővé teszed, hogy a klónozott elemek is láthatók legyenek szerveroldalon... Valószínűleg nem azért klónozod, mert a korábbi formelemek értékét el szeretnéd veszíteni.
Ha pedig ezáltal egy tömb keletkezik szerveroldalon, azt egy tömbbel be kell járni. Ez aztán rendkívül bonyolult.
Egyébként ez a szögletes zárójeles megoldás annyit módosít a korábban írt példámon, hogy szerveroldalon nem ezt látod a $_POST-ban:
array (
'form_elem_select' => '- semmi -',
)
hanem ezt:
array (
'form_elem_select' =>
array (
0 => '- semmi -',
),
)Az, hogy ez plusz terheléseket róna a szerverre, az egyszerűen baromság. Ha a ciklus egyetlen lépés után megáll, mert mindössze egyetlen elem található benne, akkor ez nem jelent semmiféle plusz terhelést (az, hogy mondjuk egy, a ciklus léptetéséhez felhasznált változó indexét megnöveli eggyel, talán ne vegyük a releváns "terhelés" és időtöbblet kategóriájába). Cserébe felkészülsz arra az esetre is, ha valóban több elem létezik a tömbben.
A szögletes zárójelekkel tudod jelezni jelen esetben a PHP felé, hogy itt egy tömb következik, kezelje is annak megfelelően.A tömbös megoldással nincs semmi baj. Nem muszáj alkalmazni, de nyugodtan lehet. Anélkül és vele is jól működő megoldásokat lehet összehozni.
Ha az én mondókám nem is volt számodra meggyőző, akkor példának hadd hozzam fel, hogy a Drupal előszeretettel alkalmazza a Form API-jában a mezők tömbalapú generálását. Biztos azért csinálták így, mert nem értenek hozzá...Szerk.: Egyébként kilencmillió soros if-elseif-elseif-elseif-elseif...-else megoldások helyett létezik switch-case is. Meg céltól függ, milyen ellenőrzésre van szükséged, egyáltalán mit szeretnél csinálni a kapott adatokkal.
[ Szerkesztve ]
Sk8erPeter
-
Speeedfire
nagyúr
válasz Entrecampos #9138 üzenetére
Összesen kb 100 keresési feltétel van, erre most mindre írjam meg az if-elseif-else ágat? Vagy a switch-case szerkezetet? Hát...köszi, de nem.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Entrecampos
csendes tag
válasz Sk8erPeter #9139 üzenetére
Persze, itt nem 3 elem bejárására gondoltam... Illetve 3 aktív felhasználónál. Nekem muszály volt az optimális megoldások választása, tracker végett (php maga a tracker), ami egy időben több 10 ezer kapcsolatot kezel és egy időben 500-3000 egyidejű lapletöltés van.
Teljesen mindegy, nem szóltam, elnézést. Majd egyszer mérjetek egy lefutási időt...
@Speeedfire:
Persze, hogy nem. Bemásolod azt a formot, ha megkérlek (csak ha publikus).
-
Lacces
őstag
Amúgy nem lehet, hogy a Zend frameworkot könnyebb megtanulni mint ezt a Yii-t?
-
Speeedfire
nagyúr
válasz Entrecampos #9141 üzenetére
Bocs, de nem publikus.
A lényege, hogy sok checkbox van, select és intervallum mező, amiket valahogy fel kell dolgozni a php-val. Illetve nagyon sok nem is így van elmentve az adatbázisban.
Gondolok itt olyanra, hogy ha ki van választva egy checkbox akkor az adatbázisban több lehetőség is lehet.
A selectnél egyértelmű, hogy csak azok a lehetőségek vannak rá, amik az adatbázisban is fellelhetők.
Így csak ezt találtam járható útnak.
Nem tudom, hogy most mennyivel lenne gyorsabb az is_array helyett ha azt mondnám neki, hogy if(kb 50 elem felsorolása).
Localhost alatt gyors, nem tudom mekkora terhelése lesz a rendszernek így...de...
Lacces: Szerintem nem, ha már nagyon váltani akarsz akkor inkább már a synfony szerintem.[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Entrecampos #9141 üzenetére
"Majd egyszer mérjetek egy lefutási időt..."
Sokkal hitelesebb lett volna a mondókád, ha valami konkrétumot is tartalmaz, nem csak levegőbe beszélést: például a saját tapasztalataidat futási időkről, esetleg konkrét mérési eredményeidet."Persze, itt nem 3 elem bejárására gondoltam... Illetve 3 aktív felhasználónál. "
Ja, mert mi eddigi életünkben 3 elemnél többet tartalmazó tömböt nem jártunk be, és elképzelésünk sincsen arról, hogy milyen is lehet, ha egy oldalon 3-nál több felhasználó is tevékenykedik egyszerre...
Nem azért, de ekkora arccal, a többiek lebecsülésével (a másik tudásának vagy tapasztalatainak ismerete nélkül) betolni egy indokolatlanul nagyképű dumát nem túl szimpatikus kezdés a fórumon - ahogy elnézem, ebben a topicban eddig ez a kettő volt az összes termésed.
Hidd el, hogy nagyon jó szakmai vitákat lehet folytatni itt a fórumon arcoskodás nélkül is - ha jó szakmai érvet hozol fel, elfogadjuk, de lehet, hogy vitatjuk - amivel még nincs is semmi baj, mert egy ilyen vita termékeny is lehet, mindegyik résztvevő fél tanulhat belőle a másiktól. De amiket eddig villantottál, annak alapot nem adtál, csak értelmetlenül lefitymáltad más kódját.Visszatérve a kérdésre:
nagyon nem árt, ha az ember a kód rugalmasságát, átláthatóságát, módosíthatóságát, bizonyos részek egységes kezelését is az első szempontok közé helyezi.
Például ha éppen az a cél, hogy mondjuk valamilyen formmezőket azonos módon tudj validálni, feldolgozni, azonos tömbbe tartozzanak, akkor ez a tömbös megoldás nagyon előnyös lehet, ha valaki jól írja meg, a hozzá tartozó kód gyorsan átlátható, könnyen kezelhető lehet.
Vegyük azt, hogy mondjuk épp egy select lista klónozgatásáról van szó, előre nem lehet tudni, mennyi keletkezik, de azért ugyanezen a formon mondjuk van még 10 text field, 5 textarea, néhány radio box, checkbox, stb.
Te meg azt mondod, hogy fúj de csúnya ez a tömbös megoldás, te úgy fogod megoldani, hogy a select listáknál mondjuk a name attribútum mögé raksz egy alsóvonás+inkrementált számot (tehát mondjuk ilyen lesz: name="list_1", name="list_2", stb.) Gondolj bele, milyen csúnya lesz ennek a szerveroldali kezelése - és mennyivel szebben kezelhető lenne egy tömbös megoldás, ahol egybetartozó elemeken rohangászhatnál végig.
Vagy:
a $_POST-on belül mondjuk van 100 formmező, ebből kb. 30 mondjuk a fentihez hasonlóan összetartozó, de szerinted legyenek csak széjjeldobálva, majd valami érdekes módszerrel megpróbáljuk bejárni - pl. a $_POST tömbön végigmegyünk, majd minden egyes elemre valami ellenőrzést megpróbálunk pl. a name attribútum első pár karaktere alapján ellenőrizni (vagy nem tudom, hogy gondoltad). Nem lenne szebb úgy, ha a 30 teljesen egybetartozó, hasonló módon kezelendő mező egybetartozna, és egy tömbön belüli tömb lenne? Így azonos name-en belül több field szerepelne.
Kétlem, hogy ez a fajta a tömbbe rendezés releváns teljesítményromlást okozna.Remélem innentől már némi konkrétumokat is tartalmazó hsz.-eket fogsz tudni kreálni, úgy érdemben is tudnánk vitatkozni.
[ Szerkesztve ]
Sk8erPeter
-
Jim-Y
veterán
hali
Egy kis segítség kéne. Vissza szeretnék adni egy értéket, de szeretném ha annak 2 adattagja lenne.
Tehát a végén ezt akarom írni:
echo $response
de szeretném, ha a másik oldalon így tudnám kezelni
response.x = valami;
response.y = valamimas;
response.z= ...;3 elég
Előre is köszi
[ Szerkesztve ]
-
Speeedfire
nagyúr
Hát, de így ez nem egy tömb?
Legalábbis ha a $response egy tömb akkor már lehet neki x és y része.
Bár lehet, hogy én értem ezt félre.A $response értéke az lenne, hogy valamivalamimasmegvalami?
Esetleg ha valami speckó karaktert raksz a sztingek közé akkor explode-al szét lehet szedni a sztringet.
pl
$response = "valami || valamimás || mégvalami";
//másik oldalon meg
$response = explode(" || ", $response);
//ugyan ez pl js alatt
var response = response.split(" || ");
//majd
$response[0], $response[1], $response[2] stb[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Lacces
őstag
válasz Speeedfire #9143 üzenetére
kösz, megnézem, hátha az könnyebb.
-
Sk8erPeter
nagyúr
Gondolom JSON-ről beszélsz.
Ez esetben:
test.php:
<?php
$response['x'] = 'valami';
$response['y'] = 'valamimas';
echo json_encode($response);(Ismét szándékosan maradt le a záró PHP-tag (?>).)
Így JSON-ben ennek a feldolgozása pl. jQuery segítségével ennyi:
$.post("test.php", function(response) {
alert("response.x: " + response.x);
alert("response.y: " + response.y);
});[ Szerkesztve ]
Sk8erPeter
-
-
Sk8erPeter
nagyúr
válasz Speeedfire #9146 üzenetére
"Esetleg ha valami speckó karaktert raksz a sztingek közé akkor explode-al szét lehet szedni a sztringet."
Ezt inkább ne. Kerülendő, rossz programozási szokás, nem is "biztonságos" - ha ehhez valaki hozzászokik, elfelejtheti, hogy az a bizonyos belepakolt érték szintén tartalmazhat olyan karaktersorozatot, ami épp az elválasztó karaktersorozat, kizárni nem lehet.
Főleg, ha van alternatíva (pl. amit írtam fentebb ).Sk8erPeter
Új hozzászólás Aktív témák
- Mobil flották
- Gumi és felni topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Politika
- Debrecen és környéke adok-veszek-beszélgetek
- Kínai, és egyéb olcsó órák topikja
- Gaming notebook topik
- A fociról könnyedén, egy baráti társaságban
- Az USA nem akarja visszafogni Kína növekedését
- OLED TV topic
- További aktív témák...