Joyride Posted February 5, 2007 Report Share Posted February 5, 2007 Ir vajadziba pec dinamiskas vertibu aprekinasanas ar algoritma palidzibu. Tas varetu izskatities apm. ta: $algo = '{OLD} - (({ATL} + 5) * 2)'; echo aprekinat($algo); kur {...} iekavas esosie elementi ir ieprieks definetas vertibas (veca cena, procenti, atlaides utt). Jautajums, ka lai uzraksta aprekinat() f-ju, kas izvada rezultatu pec algoritma? Link to comment Share on other sites More sharing options...
andrisp Posted February 5, 2007 Report Share Posted February 5, 2007 Vienkāršakais - iekš tās fjas repleiso {NOSAUKUMS} ar vajadzīgo vērtību. Un tad ar eval php.net/eval veic aprēķinu. Tikai uzmanīgi - tas tomēr ir eval. ;) Link to comment Share on other sites More sharing options...
Delfins Posted February 5, 2007 Report Share Posted February 5, 2007 nesapratu, kam tāds ģemorojs? function calcAmount($veca_cena,$atlaide = 0) { $summa = $veca_cena - (($atlaide + 5) * 2); } Jebšu formula ir uzstādīta katram krājumam atsevišķi? Link to comment Share on other sites More sharing options...
Joyride Posted February 5, 2007 Author Report Share Posted February 5, 2007 Delfins - tiesi ta, algoritmam ir jabut dinamiskam, lai lapas moderatori var pasi vinu izveidot. Link to comment Share on other sites More sharing options...
Delfins Posted February 5, 2007 Report Share Posted February 5, 2007 nu tad kā jau teica, visvienkāršākais - str_replace ar array + eval Link to comment Share on other sites More sharing options...
v3rb0 Posted February 5, 2007 Report Share Posted February 5, 2007 ar ko nez {OLD} {ATL} ir saprotamāk par $OLD un $ATL?, lai raksta visu uzreiz tā, ka var laist caur eval, vai, ja gribi krutu, tad ieraksti to izteiksmi kādā php failā.. thipa function calculate_234() {, kur tas 234 ir kāds id no datubāzes un dzīvojies bez eval. Link to comment Share on other sites More sharing options...
Joyride Posted February 6, 2007 Author Report Share Posted February 6, 2007 v3rb0 ->Sis algoritms ir domats kadam e-veikalam. To sastadis administratori un tas tiks izmantots cenu aprekinasanai un ne tikai. Tapec nevaru iedomaties, ka to varetu sastadit ar mainigajiem. Link to comment Share on other sites More sharing options...
andrisp Posted February 6, 2007 Report Share Posted February 6, 2007 Bet, Joyride, kāda atšķirība vai {OLD} vai $OLD ? Būs par vienu darbību mazāk ko darīt tavā evalējošajā fjā. Link to comment Share on other sites More sharing options...
Delfins Posted February 6, 2007 Report Share Posted February 6, 2007 Atskiriba ir baigi liela... end-useriem, kuri neprot PHP, labak rakstiti cilveeciigaa formaa. cena - ((atlaide + 5) * 2) Savukārt PHP galā tire jau varētu būt kaut vai objekta propertiji $item->cena, vai arī masīva elementi $data['cena'] Tu taču neliksi adminiem rakstīt $data['cena'] - ($data['atlaide'] * 2) . Sajauks vēl pēdiņas PS: protams pie lauciņa pierakstot, kādi mainīgie tiks pieņemti un validēt uzreiz pie saglabāšanas Link to comment Share on other sites More sharing options...
andrisp Posted February 6, 2007 Report Share Posted February 6, 2007 Bet vai ir atšķirība lietojot {OLD} vai $OLD sintaksi ? To, ka ērtāk ir "cena" nevis "{OLD}" es pats redzu :). Link to comment Share on other sites More sharing options...
v3rb0 Posted February 6, 2007 Report Share Posted February 6, 2007 un vēl ērtāk ir javascriptīgs 'function builderis' :) Link to comment Share on other sites More sharing options...
Recommended Posts