Kezdőoldal » Számítástechnika » Programozás » Az eval () egy legitim módszer...

Az eval () egy legitim módszer a php-ben?

Figyelt kérdés

Itt a link róla:

[link]


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?



#php #programozás #string to phpcode
2017. aug. 24. 22:30
1 2 3
 11/24 anonim ***** válasza:
Nemmuszáj feltölteni adatbázisba, ahhoz hogy sql kérést futass. vannak olyan ideiglenes lehetőségek, amik közvetlen adatbázis nélkül is megy, persze sokkal hatékonyabb lenne ha az XML -t nem kéne mindig értelmezhető formába hozni.
2017. aug. 25. 07:46
Hasznos számodra ez a válasz?
 12/24 anonim ***** válasza:
Vannak XML-re kész parserek.
2017. aug. 25. 08:05
Hasznos számodra ez a válasz?
 13/24 anonim ***** válasza:

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();

2017. aug. 25. 10:49
Hasznos számodra ez a válasz?
 14/24 A kérdező kommentje:

"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:

[link]

2017. aug. 25. 10:49
 15/24 A kérdező kommentje:

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.

2017. aug. 25. 11:04
 16/24 A kérdező kommentje:

winsxs

Ez a simple xml iterator tud egyszerre több paraméterre szűrni?

2017. aug. 25. 11:07
 17/24 anonim ***** válasza:
2017. aug. 25. 11:31
Hasznos számodra ez a válasz?
 18/24 A kérdező kommentje:
Köszi utolsó névtelen csajszi vagy srác! Te megértetted a problémát, te vagy mindannyiunk közül a legokosabb. :)
2017. aug. 25. 12:34
 19/24 anonim ***** válasza:

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.

2017. aug. 25. 15:13
Hasznos számodra ez a válasz?
 20/24 anonim ***** válasza:
Ja'h és 30F, ha számít. :-D
2017. aug. 25. 15:14
Hasznos számodra ez a válasz?
1 2 3

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!