Az eval () egy legitim módszer a php-ben?
Itt a link róla:
Szoktak ilyet használni? Ha egy programozó meglátja, nem kap agykukit tőle? Komolyan kérdezem, mert számomra most jól jönne, de olyan gányolásnak tűnik. Ti mit gondoltok?
Te most nagyon durva gányolásra készülsz. Ne tedd.
Ott a SimpleXML osztály.
Lsd. az alábbi kódrészletet, ami egy GET paraméterben átadott ID alapján megkeresi a deals.xml-ben lévő, az ID-nek megfelelő azonosítójú terméket:
> if (isset($_GET["id"]) and !(empty($_GET["id"])) and is_numeric($_GET["id"])) {
>>>> $currentDealId = $_GET["id"];
> } else {
>>>> die();
};
> $deals = new SimpleXmlIterator("deals.xml", 0, true);
> $deals->rewind();
> while ($currentDealId != (int)$deals->current()->attributes()->id or !$deals->valid()) {
>>>> $deals->next();
> };
> $currentDeal = $deals->current();
"Nem. Az egy külön lekérdező nyelv: "
Bocs, én ezt használom. Csak akkor a nevét nem tudtam. Amúgy miért nem a problémára adsz választ???? :D
Innen szedtem a példát:
De tényleg nem értitek ugye? Én ki tudok keresni paramétereket xml fájlból nem ez a gond. Az a probléma, hogy többet kell egyszerre, mondjuk legyen nyolc paraméter, amiket tetszőlegesen változtatgathat a felhasználó.
Hogy keresel ki nyolc paramétert? Először az elsőre szűrsz rá, a végeredményt berakod egy tömbbe, aztán a tömbből a másodikra stb...
De nem tudod, hogy melyik paramétert fogja kiválasztani a felhasználó, ezért tudod csak így megoldani. Ha tudnád előre, akkor egészen egyszerűen annyit csinálnál, hogy mindig az összesre rászűrnél egyből, amelyik paramétert kiválasztotta a felhasználó. De nem tudod, és nyolc paraméter paraméterből mondjuk kettőt, ha a sorrend nem számít, akkor nyolc alatt a kettőféleképpen tudsz kiválasztani. Ami pedig 28.
Tehát nem tudod az összes létező kombinációban leírni az ifeket, mivel kiválaszthat nyolcból egyet, ami nyolc alatt az egy, nyolcból kettőt, ami nyolc alatt a kettő, nyolcból hármat, ami nyolc alatt a három stb... Ez összesen 254 kombináció. Ennyi ifet nem fogsz felírni.
Mondjuk legyen autó a példa. Az ügyfél rákereshet csak a márkára, rákereshet a márkára és a típusra, rákereshet a márkára és a teljesítményre stb...
Mivel nem tudod, hogy mikor mennyi paraméterre és milyen kombinációban keres rá, ezért minden egyes keresési paraméternél utószűrnöd kell. Ez van úgy megoldva az sql-nél, hogyha létezik a POST, akkor hozzáfűzöl egy részt magához az sql lekérdezéshez, mondjuk egy annyit, hogy "AND valami = 'ertek'".
Ezért gondoltam, hogy az ifeket egyszerűen összefűzöm, illetve pontosabbna az ifekben a változó = érték részeket, mintha sql lekérdezés lenne, így nem kell utószűrnök, és 254 kombinációban felírnom az ifeket.
winsxs
Ez a simple xml iterator tud egyszerre több paraméterre szűrni?
Lényegében egy hatalmas feltétel sort kell készíteni belőle.
Az egészet egyetlen IF -be is belehet szűkíteni AND és záró jelekkel.
DE ahogy a 11. hozászolásba is írtam, valamilyen adatbázis modellbe kéne eltárolni, indexelt kulcsokkal...
Pár száz esetleg ezer értékig nem vészes, de ha több tízezer van, akkor már jelentős időt lehet megspórolni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!