カレンダーデータボックス
問題: 配列内の日付に対応する価格と人数の情報を表示できません (たとえば、価格と人数は配列内に 2013-10-12 と 2013-10-21 がある場合にのみ表示されます)。プログラムは、生成された日付ではなく、開始日から順に表示します。専門家がいる場合は、ロジックを変更するほど、アドバイスをお願いします。混乱してしまいます。
効果は次のとおりです。
コードは次のとおりです。
class productDate{
var $product_id = '';
var $original_date = ''; var $nextDate = ' ';
var $count =
var $nextMonth;
var $lastDate;
function create($ product_id, $date, $prices){
$this->product_id = $product_id;
$this->original_date = $this->date = strtotime($date); >prices = $prices;
$this->_init(); /**
* 来月
* /
$ This-& GT; $ Date; // 来月、処理される
$ This- & GT; Create ($ tmp_date, $step = 1){
‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ //切り取る年
$tmp_year= date('Y', $tmp_date);
$ TMP_NEXTMONTH = mktime (0,0,0, $ TMP_MON+$ Step, 1, $ tmp_year) }
function getPreMonth($tmp_date, $step = 1){ // 年を切り出します。 $tmp_mon =date('m' , $tmp_date)
$tmp_premonth=mktime(0,0,0,$tmp_mon - $step,1,$tmp_year); **
* 初期化パラメータ
*/
function _init(){
$this->nowWeek = date('w', $this->date);
$this->nowMonth = date('m', $ this->date);
$this->nextMonth = date('m', $this->date + 86400 * $this->startDate = $this-> ;date - 86400 * $this->nowWeek;//開始日を取得します
}
/**
* 获取html
*
*/
function getHtml(){
$box = $this->getBox();
while($this->getNextMonth($this->date, 2) < $this->lastDate){
$this->date = $this->getNextMonth($this->date);
$this->_init();
$box .= $this->getBox();
}
return <<
{$box}
EOF;
}
/**
* 获取日历块
*
*/
function getBox(){
$result = '
';
}
$startDate += 86400;
}
$result .= "
";
$isShow = '';
if($this->original_date != $this->date){
$isShow = ' style="display:none"';
}
echo "
";
return <<
出行日价格表
{$this->getHead()}
- 星期日
- 星期一
- 星期二
- 星期三
- 星期四
- 星期五
- 星期六
{$result}
EOF;
}
/**
* 头部设置月份按钮
*
*/
function getHead(){
$result = '';
$preIcon = $this->getPreMonth($this->date) > $this->getPreMonth($this->original_date) ? "search_pp_cal_nevm_icon" : "search_pp_cal_nevm_no_icon";//开始
$nextIcon = $this->getNextMonth($this->date, 2) < $this->lastDate ? "search_pp_cal_nextm_icon" : "search_pp_cal_nextm_no_icon";//结尾
return <<
{$this->nowMonth}月
{$this->nextMonth}月
EOF }
}
$date = date("Y-m-d");
$dateTmp = strtotime($date);//価格データを初期化します
foreach($) xianluttime as $k=>$v)
{
$price[$dateTmp] = array(
'nowtime' => 'price' => $v[1]
); ;
$i++;
if($i==$countday)
{ {
}
}
$obj = new productDate(); ->create($productId, $date, $price);
echo $obj->getHtml();
ディスカッションに返信してください
すべてのコードを投稿してください。 (スタイルシートを含む)
あなたのようなスニペットはテストできません
请贴全你的代码!(包括样式表)
你这样的片段无法测试
这是其它文件,太长不好贴,问题是在上面贴出的里,其它文件是弄的ajax产品json格式,问题是这儿:
foreach($xianluttime as $k=>$v)
{
$price[$dateTmp] = array(
'nowtime' => $v[0],
'nums' => rand(2, 12),
'price' => $v[1]
);
$dateTmp = $dateTmp + 86400;
$i++;
if($i==$countday)
{
break;
}
}
这儿设定数组里面有一个$nowtime格式是Y-m-d,设想是这个数组里面的日期才输出这里面
function getBox(){
$result = '
";
ご都合がよければ、QQ を追加していただけますか
コード スニペットしか提供できないため、指定されたコードにコメントを作成する必要があります
それ以外の場合は、Bidu が何をしているかは神のみぞ知る
コード スニペットしか提供できないため、指定されたコードにコメントを作成する必要があります コメント
それ以外の場合は神のみぞ知るBidu は
関数 getBox() で $tmp_y の値が
foreach($xianluttime as $k=>$v) にあるかどうかを判定します {
$price[$dateTmp] = array(
$dateTmp = $ dateTmp + 86400;
if($i==$countday)
{ {
Break; } }
}
<
' '
次の段落は実行されません:
' . $tmp_y . '
/li> ';
入力する必要があるコンテンツ配列のキーとして日付を使用すると、非常に簡単ではないでしょうか。
コンテンツ配列に日付を入力すると、とても簡単ではないでしょうか?
もっと具体的に教えてもらえますか?意味はわかったけど、どうやって実装するか
rreee、意味わかりますか?
えー、これの意味わかりますか?
ありがとう!全体的な方向性
二人は非常に才能があり、理解力が高すぎます
コードを見たときはめまいがしました その後、Lao Xu はわずか数行のコードで「方向性」を獲得しました、私は尊敬します
二人とても才能があり、理解力が高すぎます
コードを見たときはめまいがしました
その後、Lao Xu はわずか数行のコードで「方向性」を導き出しました。尊敬します
投稿ありがとうございます