台历价格表

WBOY
Release: 2016-06-13 12:37:23
Original
965 people have browsed it

日历价格表?
问题:价格人数信息不能对应数组里面有的日期才显示(比如数组里面有2013-10-12和2013-10-21才有价格和人数,但程序会依次从开始日期显示,而不是在生成的日历里面对应的日期里才显示),有高手请指点一下,越改逻辑越混乱了。
现在效果如图:
代码如下:

    class productDate{
    var $product_id = '';
    var $date = '';
    var $original_date = '';
    var $nextDate = '';
    var $prices = '';
    
    var $count = 42;

    var $nowWeek;
    var $nowMonth;
    var $nextMonth;
    var $startDate;
    var $lastDate;
    
    function create($product_id, $date, $prices){
        $this->product_id = $product_id;
        $this->original_date = $this->date = strtotime($date);
        $this->prices = $prices;
        $this->_init();
        $datesTmp = array_keys($this->prices);
        $this->lastDate = array_pop($datesTmp);
    }
    /**
    * 下一个月
    * 
    */
    function createNext(){
        $this->nextDate = $date; //下一月, 待处理
        $this->create($this->nextDate);
    }
    
    function getNextMonth($tmp_date, $step = 1){
        //切割出年份
        $tmp_year= date('Y', $tmp_date);
        //切割出月份
        $tmp_mon =date('m', $tmp_date);
        $tmp_nextmonth=mktime(0,0,0,$tmp_mon + $step,1,$tmp_year);
        //得到当前月的下2个月 ,最晚的日期的下一个月的开始
        return $tmp_nextmonth;
    }
    
    function getPreMonth($tmp_date, $step = 1){
        //切割出年份
        $tmp_year= date('Y', $tmp_date);
        //切割出月份
        $tmp_mon =date('m', $tmp_date);
        $tmp_premonth=mktime(0,0,0,$tmp_mon - $step,1,$tmp_year);
        //得到当前月的上一个月 
        return $tmp_premonth;
    }
    /**
    * 初始化参数
    * 
    */
    function _init(){
        $this->nowWeek = date('w', $this->date);
        $this->nowMonth = date('m', $this->date);
        $this->nextMonth = date('m', $this->date + 86400 * $this->count);
        $this->startDate = $this->date - 86400 * $this->nowWeek;//获取开始日期
    }
    /**
    * 获取html
    * 
    */
    function getHtml(){
        $box = $this->getBox();
        while($this->getNextMonth($this->date, 2) lastDate){
            $this->date = $this->getNextMonth($this->date);
            $this->_init();
            $box .= $this->getBox();
        }

        return 

product_id}">
{$box}

EOF;
    }
    /**
    * 获取日历块
    * 
    */
    function getBox(){
        $result = '
    ';
            $startDate = $this->startDate;
            
            for($i = 0; $i count; $i++){  
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!