[問題]週年倒數外掛

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

GeniusKiKi
竹貓忠實會員
竹貓忠實會員
文章: 1086
註冊時間: 2003-10-28 14:50

[問題]週年倒數外掛

文章 GeniusKiKi »

想問一個問題唷\r
phpbb 資料庫不是有內建論壇啟用日期的資料咩\r
那週年倒數外掛應該可以從那邊讀取就好吧?
然後讓管理人員可以自己設定(在 php 程式碼裡設定就好,不一定要進後台)
距離滿週年的前 N 天\r
論壇首頁自動顯示週年倒數計時
這樣應該不難做到吧~o_O
總比每次快要週年就要自己加程式碼進 tbl 好多了
再也不當爛好人...
好人是小白轉型成大白的墊腳石...
messagebox
竹貓忠實會員
竹貓忠實會員
文章: 981
註冊時間: 2003-02-24 23:34

Re: [問題]週年倒數外掛

文章 messagebox »

GeniusKiKi 寫:想問一個問題唷\r
phpbb 資料庫不是有內建論壇啟用日期的資料咩\r
那週年倒數外掛應該可以從那邊讀取就好吧?
然後讓管理人員可以自己設定(在 php 程式碼裡設定就好,不一定要進後台)
距離滿週年的前 N 天\r
論壇首頁自動顯示週年倒數計時
這樣應該不難做到吧~o_O
總比每次快要週年就要自己加程式碼進 tbl 好多了
表單phpbb_config裡的name為board_startdate的值~
UNIX時間~
轉換方式~
date("Y/m/d H:i: s",board_startdate)
要算週年~
將board_startdate指定給$chk_start_time
[php]<?php
//先將討論版開始時間取出
$chk_start_time=1010276622 ;
$chk_yy=date("Y",$chk_start_time);
$chk_mm=date("n",$chk_start_time);
$chk_dd=date("d",$chk_start_time);
$chk_hh=date("H",$chk_start_time);
$chk_ii=date("i",$chk_start_time);
$chk_ss=date("s",$chk_start_time);
$i=1;
$chk_date = "chk_no";
while ($chk_date == "chk_no") {
$year_date=mktime($chk_hh,$chk_ii,$chk_ss,$chk_mm,$chk_dd,$chk_yy+$i); //$i週年的UNIX TIME
$now_time=mktime(); //現在的時間(UNIX TIME)
if ($year_date > $now_time){ //表示$i週年比現在的時間後面
$chk_date = "chk_yes";
}else{
$i++;
}
}
//到這邊~就知道現在是準備過哪一個週年

$happy_year = ($year_date - $now_time); //某週年差現在多少時間
$text_year = intval($happy_year/86400);
$show_text = "距離 ".$i." 週年慶還有".$text_year. "天";
echo $show_text; //輸出字串\r
/*
範例輸出
距離 1 週年慶還有365天
當然要正確算出還有多少天~多少時分秒也是可以的~
還有~如果還差超過60天不顯示~也是可以喔~
$text_year這個變數就是你距離某週年還有多少天\r
*/
?>[/php]
我比較感興趣的是怎麼會突然提起週年慶這個話題~
你已經準備籌畫週年慶??~
如果是的話~~~有獎品算我一份~
GeniusKiKi
竹貓忠實會員
竹貓忠實會員
文章: 1086
註冊時間: 2003-10-28 14:50

文章 GeniusKiKi »

口厄~
我家論壇剛滿月而已\r
我是前一陣子看到有人再問倒數計時的外掛
然後前幾天又剛好看到有人問修改論壇啟用時間的方法
然後熊熊融會貫通靈光乍現\r
然後就想到這個東西了~ XD
再也不當爛好人...
好人是小白轉型成大白的墊腳石...
aiken
竹貓忠實會員
竹貓忠實會員
文章: 1514
註冊時間: 2003-11-09 11:02
來自: 大頭真論壇
聯繫:

文章 aiken »

我是覺得..直接用JAVA做倒數計時的效果就好了~~\r
又快又方便...

方法在這邊
http://dob.tnc.edu.tw/themes/old/showPage.php?s=82&t=

根本不用再去讀資料庫寫變數那些的....
GeniusKiKi
竹貓忠實會員
竹貓忠實會員
文章: 1086
註冊時間: 2003-10-28 14:50

文章 GeniusKiKi »

可是讀資料庫的方法比較方便
不用每年都要在那邊拆拆裝裝

當然啦\r
大大提供的語法也可以不用讀資料庫\r
強制指定論壇啟用時間即可\r
這樣又更快更方便了~ XD
再也不當爛好人...
好人是小白轉型成大白的墊腳石...
messagebox
竹貓忠實會員
竹貓忠實會員
文章: 981
註冊時間: 2003-02-24 23:34

文章 messagebox »

aiken 寫:我是覺得..直接用JAVA做倒數計時的效果就好了~~
又快又方便...

方法在這邊
http://dob.tnc.edu.tw/themes/old/showPage.php?s=82&t=

根本不用再去讀資料庫寫變數那些的....
我的方法並沒有讀到資料庫~
config是在一開始的common.php就一定要讀~
$board_config['board_startdate']
這是在common.php時讀出的~
只要引用那個變數而已~
無須再讀取一次資料庫~

附帶一點~PHP可以用GD畫出多采多姿的圖形日期~
這點CLIENT端的SCRIPT就沒辦法~

而且CLIENT端的SCRIPT必須考慮到使用者瀏覽器支援與否~
GeniusKiKi
竹貓忠實會員
竹貓忠實會員
文章: 1086
註冊時間: 2003-10-28 14:50

文章 GeniusKiKi »

整理一下發佈成 MOD 吧~ XD
再也不當爛好人...
好人是小白轉型成大白的墊腳石...
messagebox
竹貓忠實會員
竹貓忠實會員
文章: 981
註冊時間: 2003-02-24 23:34

文章 messagebox »

GeniusKiKi 寫:整理一下發佈成 MOD 吧~ XD
@@~
寫不到10行~
也能發佈喔~
改天啦~~改天配合GD作炫一點在發佈~
不然才打那麼幾行字~~
總感覺怪怪的~
GeniusKiKi
竹貓忠實會員
竹貓忠實會員
文章: 1086
註冊時間: 2003-10-28 14:50

文章 GeniusKiKi »

恩~那就補上差多少天不顯示吧~
搭配 GD 的話應該不用吧~一.一||

對了取得論壇啟用時間是這樣寫嗎?

代碼: 選擇全部

$chk_start_time=get_db_stat('board_startdate');
搞不太懂
剛剛這樣寫~他給我顯示 距離 34 週年慶還有 18 天
明明才滿月沒多久~一.一||

還有大大的 輸出字串 的語法部分有誤\r
不知道誤了什麼\r
反正會顯示錯誤就是了~一.一||
再也不當爛好人...
好人是小白轉型成大白的墊腳石...
GeniusKiKi
竹貓忠實會員
竹貓忠實會員
文章: 1086
註冊時間: 2003-10-28 14:50

文章 GeniusKiKi »

喵嗚~取得論壇啟用時間語法是:

代碼: 選擇全部

$board_config['board_startdate']
還有

代碼: 選擇全部

echo $show_text;    //輸出字串
不需要寫進 php 檔

大大真壞~都不講清楚~逃~ XD
最後由 GeniusKiKi 於 2003-12-13 10:14 編輯,總共編輯了 1 次。
再也不當爛好人...
好人是小白轉型成大白的墊腳石...
messagebox
竹貓忠實會員
竹貓忠實會員
文章: 981
註冊時間: 2003-02-24 23:34

文章 messagebox »

GeniusKiKi 寫:恩~那就補上差多少天不顯示吧~
搭配 GD 的話應該不用吧~一.一||

對了取得論壇啟用時間是這樣寫嗎?

代碼: 選擇全部

$chk_start_time=get_db_stat('board_startdate');
搞不太懂
剛剛這樣寫~他給我顯示 距離 34 週年慶還有 18 天
明明才滿月沒多久~一.一||

還有大大的 輸出字串 的語法部分有誤\r
不知道誤了什麼\r
反正會顯示錯誤就是了~一.一||
[php]<?php

//先將討論版開始時間取出
$chk_start_time=1010276622 ; //←這是我測試時忘了砍掉的東西~所以會變成好多週年

//討論區啟用時間,先前說過了~在common.php已經讀出來了~所以不需要再讀取一次SQL
$chk_start_time = $board_config['board_startdate'] ;

$chk_yy=date("Y",$chk_start_time);
$chk_mm=date("n",$chk_start_time);
$chk_dd=date("d",$chk_start_time);
$chk_hh=date("H",$chk_start_time);
$chk_ii=date("i",$chk_start_time);
$chk_ss=date("s",$chk_start_time);
$i=1;
$chk_date = "chk_no";
while ($chk_date == "chk_no") {
$year_date=mktime($chk_hh,$chk_ii,$chk_ss,$chk_mm,$chk_dd,$chk_yy+$i); //$i週年的UNIX TIME
$now_time=mktime(); //現在的時間(UNIX TIME)
if ($year_date > $now_time){ //表示$i週年比現在的時間後面
$chk_date = "chk_yes";
}else{
$i++;
}
}
//到這邊~就知道現在是準備過哪一個週年

$happy_year = ($year_date - $now_time); //某週年差現在多少時間
$text_year = intval($happy_year/86400);

//判斷距離多少天才要顯示,本例子設定剩下29天才開始顯示
if ($text_year <= 30){
$show_text = "距離 ".$i." 週年 還有 ".$text_year. " 天";
}else{
$show_text = "距離 ".$i." 週年還很久,不用心急。";
}
echo $show_text; //輸出字串
/*
範例輸出
距離 1 週年慶還有365天
當然要正確算出還有多少天~多少時分秒也是可以的~
還有~如果還差超過60天不顯示~也是可以喔~
$text_year這個變數就是你距離某週年還有多少天
*/

?>[/php]
GeniusKiKi
竹貓忠實會員
竹貓忠實會員
文章: 1086
註冊時間: 2003-10-28 14:50

文章 GeniusKiKi »

代碼: 選擇全部

echo $show_text;    //輸出字串
不用寫吧?
反正我寫了他就給我錯誤
拆掉又OK~一.一|||
再也不當爛好人...
好人是小白轉型成大白的墊腳石...
messagebox
竹貓忠實會員
竹貓忠實會員
文章: 981
註冊時間: 2003-02-24 23:34

文章 messagebox »

GeniusKiKi 寫:喵嗚~取得論壇啟用時間語法是:

代碼: 選擇全部

$board_config['board_startdate']
還有

代碼: 選擇全部

echo $show_text;    //輸出字串
不需要寫進 php 檔

大大真壞~都不講清楚~逃~ XD
@@
那個是標準輸出阿~
要引用到PHPBB裡面當然不是這樣寫~
至於$board_config['board_startdate']
我前幾篇有提過阿~

^(oo)^
你真的丟上去了喔
距離 1 週年還很久,不用心急。論壇啟用時間 2003-11-11 11:11 , 到目前為止總共有 2874 人來參觀過
現在的時間是 2003-12-13 10:22
最後由 messagebox 於 2003-12-13 10:24 編輯,總共編輯了 1 次。
GeniusKiKi
竹貓忠實會員
竹貓忠實會員
文章: 1086
註冊時間: 2003-10-28 14:50

文章 GeniusKiKi »

phpbb 寫法:'SHOW_TEXT' => $show_text,
尋找 $template->assign_vars(array(
隨便找個位置用力插進去\r

然後就可以在想要的位置引用了
只要插入 {SHOW_TEXT}
再也不當爛好人...
好人是小白轉型成大白的墊腳石...
messagebox
竹貓忠實會員
竹貓忠實會員
文章: 981
註冊時間: 2003-02-24 23:34

文章 messagebox »

GeniusKiKi 寫:phpbb 寫法:'SHOW_TEXT' => $show_text,
尋找 $template->assign_vars(array(
隨便找個位置用力插進去\r

然後就可以在想要的位置引用了
只要插入 {SHOW_TEXT}
好粗魯的說法~~
有個建議給你~
就是顯示還有幾天時~~可以考慮換一下顏色醒目點~~
主題已鎖定

回到「外掛問題討論」