当前位置: 首页>>代码示例>>PHP>>正文


PHP DB_DataObject::sqlValue方法代码示例

本文整理汇总了PHP中DB_DataObject::sqlValue方法的典型用法代码示例。如果您正苦于以下问题:PHP DB_DataObject::sqlValue方法的具体用法?PHP DB_DataObject::sqlValue怎么用?PHP DB_DataObject::sqlValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DB_DataObject的用法示例。


在下文中一共展示了DB_DataObject::sqlValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: loadRates

 /**
  * current rate fetching
  *
  * - we used to do historical rates... (but sources keep disappearing for that..)
  *
  * this just get's the current rates from the ecb..
  * 
  * 
  */
 function loadRates()
 {
     static $checked = false;
     if ($checked) {
         return true;
     }
     $checked = true;
     // how often do we need to know this..?
     // let's assume we do it once a week..
     $x = DB_DataObject::Factory('core_curr_rate');
     $x->whereAdd('to_dt > NOW()');
     if ($x->count()) {
         // got some data for beyond today..
         return;
     }
     // load our default rates to start with..
     $dom = simplexml_load_file(dirname(__FILE__) . '/../eurofxref-daily.xml');
     $rates['EUR'] = 1.0;
     $rates['TWD'] = 46.7008412;
     // taiwan dorlar
     $rates['VND'] = 25282.24;
     // veitnam dong?
     foreach ($dom->Cube->Cube->Cube as $c) {
         //echo '<PRE>';print_r($c );
         $rates[(string) $c['currency']] = (string) $c['rate'];
     }
     $rates['RMB'] = $rates['CNY'];
     // now try loading from latest..
     // this may fail...
     $f = @file_get_contents('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml');
     if (!strlen($f)) {
         return false;
     }
     $dom = simplexml_load_string($f);
     $rates['EUR'] = 1.0;
     foreach ($dom->Cube->Cube->Cube as $c) {
         //echo '<PRE>';print_r($c );
         $rates[(string) $c['currency']] = (string) $c['rate'];
     }
     $rates['RMB'] = $rates['CNY'];
     foreach ($rates as $cur => $in_euro) {
         $rate = 1.0 / $rates['USD'] * $in_euro;
         $ov = DB_DataObject::Factory('core_curr_rate');
         $ov->curr = $cur;
         $nl = clone $ov;
         $ov->orderBy('to_dt DESC');
         $ov->limit(1);
         $nl->from_dt = DB_DataObject::sqlValue("NOW()");
         $nl->to_dt = DB_DataObject::sqlValue("NOW() + INTERVAL 7 DAY");
         if ($ov->find(true)) {
             if (strtotime($ov->to_dt) > time()) {
                 continue;
             }
             $nl->from_dt = $ov->to_dt;
             if ($ov->rate == $rate) {
                 // modify the old one to expire
                 $oo = clone $ov;
                 $ov->to_dt = $nl->from_dt;
                 $ov->update($oo);
                 continue;
             }
         } else {
             // no previous record...
             $nl->from_dt = '1970-01-01 00:00:00';
         }
         $nl->rate = $rate;
         // create a new row.
         $nl->insert();
     }
 }
开发者ID:roojs,项目名称:Pman.Core,代码行数:79,代码来源:Core_curr_rate.php


注:本文中的DB_DataObject::sqlValue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。