Zadejte hledaný výraz...

Co to znamená?

Keert
verified
rating uzivatele
(20 hodnocení)
9. 9. 2009 21:12:14
Dobrý večer,
narazil jsem na jeden problém a podařilo se mi ho vyřešit. Ale nechápu souvislost, tak bych se raději poradil s někým zkušenějším. Mám zakoupený php software. V jedné části stránek je velmi důležité, aby se seznam zobrazených položek zobrazil seřazen podle data konce (např inzerce od nejstarších po nejnovější). Tohle ale nefungovalo tak jak má. Řazení bylo opačně. Pátral jsem kde je chyba a objevil tyto dva řádky:
$order_field = (in_array($_REQUEST, $site_ordering)) ? $_REQUEST : 'a.end_time';
$order_type = (in_array($_REQUEST, $order_types)) ? $_REQUEST : 'ASC';
ASC znamená zbůsob řazení (ASC od nejstaršího a DESC od nejnovějšího). To je zdá se nastavené dobře, ale i přes to to nefunguje. První řádek definuje položku v databázi, podle které se maji záznamy řadit. Ve druhém řádku jsem odstranil tohle:
(in_array($_REQUEST, $order_types)) ? $_REQUEST :
Takže zbylo jen toto:
$order_field = (in_array($_REQUEST, $auction_ordering)) ? $_REQUEST : 'a.end_time';
$order_type = 'ASC';
A světe div se....pomohlo to. Ale nevím proč. Co znamená ten kód, který když se odstarnil tak to funguje? Proč to tam je, když se to neřadí správně? No a to hlavní....nevyřadím tím smazáním té části nějakou jinou funkci??
Ten upravený kód funguje skvěle. Když nahradím ASC za DESC tak se to seřadí v opačném směru. Tak to má být. Ale když nahradím ASC za DESC v tom původním kódu (úplně nahoře) tak se nestane vůbec nic. :/ A to je to software od renomované firmy.
Díky moc za pomoc.
KEERT
9. 9. 2009 21:12:14
https://webtrh.cz/diskuse/co-to-znamena#reply368942
Ten druhý řádek nastavuje jak se to má řadit.
Tedy pokud požadovaný způsob řazení ($_REQUEST) je v poli $order_types, potom nastav tento požadavek $_REQUEST v jiném případě nastav řazení ASC (od nejmenšíího k největšímu).
Tys to tedy vymazal a nastavil si natvrdo že se má použít ASC.
Tipuji že tedy ti to nefungovalo proto, že někde bylo nastavené (přes POST, GET) že se má řadit dle DESC.
---------- Post was amended at 21:30 ----------
Nevím jak moc se v PHP vyznáš, ale jedná se o ternární operátor (ve zkratce, pokud podmínka souhlasí, potom udělej tohle, v opačném případě něco jiného - taková zkratka if, else) - mrkni třeba na http://php.vrana.cz/ternarni-operator.php
9. 9. 2009 21:27:19
https://webtrh.cz/diskuse/co-to-znamena#reply368941
Keert
verified
rating uzivatele
(20 hodnocení)
9. 9. 2009 21:44:04
Super. Strašně moc děkuju. Takhle jsem to potřeboval. Takže teď už jen dohledat kam směřuje ta podmínka a mělo by to být jasný. Ještě jednou zkusím projít administraci, jestli to náhodou někde není nastavený tam (už jsem to zkoušel 3x, ale nenašel jsem nic, ale pro jistotu to ještě jednou projdu ;) ) no a přinejhorším to tam nechám tedy tak natvrdo a hotovo.
Ještě jednou díky.
KEERT
9. 9. 2009 21:44:04
https://webtrh.cz/diskuse/co-to-znamena#reply368940
Pro odpověď se přihlašte.
Přihlásit