2013年5月25日 星期六

XOOPS的時間函數運用(new)

本範例為「日期示範」

FORM_預設值:
 

//設定「start_date」欄位預設值
  $start_date=(!isset($DBV['start_date']))?"":date("Y-m-d",xoops_getUserTimestamp($DBV['start_date']));

//設定「end_date」欄位預設值
  $end_date=(!isset($DBV['end_date']))?"":date("Y-m-d",xoops_getUserTimestamp($DBV['end_date']));

 

INSERT_寫入資料庫:


  # -------- 處理時間(日期格式->時間戳記) --------------------------------------
  $_POST['start_date']=userTimeToServerTime(strtotime($_POST['start_date']));
  $_POST['end_date']=userTimeToServerTime(strtotime($_POST['end_date']));
  # -------------------------------------------------------------------------

 

LIST_從資料庫撈出:

# -------- 處理時間(時間戳記->日期格式) -------------------------------------
  $start_date=date("Y-m-d",xoops_getUserTimestamp($start_date));
  $end_date=date("Y-m-d",xoops_getUserTimestamp($end_date));
# ---------------------------------------------------------------------------

 

2013年5月19日 星期日

收合插件

  • 將「ddaccordion」資料夾放入 「class」
  • ddaccordion() 函數放入「block_function.php」
#--------------------- 引入jquery -------------------------------------
if(!file_exists(XOOPS_ROOT_PATH."/modules/tadtools/jquery.php")){
  redirect_header("index.php",3, _TAD_NEED_TADTOOLS);
}
include_once XOOPS_ROOT_PATH."/modules/tadtools/jquery.php";
$jquery_path = get_jquery(); //一般只要此行即可
#-------- jquery 收合 --------------------------------
$ddaccordion=ddaccordion();

# 收合內容
$main_body="
    <!-- 有標題、內容 -->
    <a class='menuitem submenuheader' href='#' >物品類別2</a>
    <div class='submenu'>
     <table border='0' cellspacing='3' cellpadding='3' id='ugm_tb' style='word-wrap:break-word; word-break:break-all'>
        <tr class='alt'><td>1111</td></tr>
        <tr class='alt'><td>1111</td></tr>
        <tr class='alt'><td>1111</td></tr>
        <tr class='alt'><td>1111</td></tr>
      </table>
    </div>
    <!-- 有標題、內容 -->
    <a class='menuitem submenuheader' href='#' >物品類別2</a>
    <div class='submenu'>
     <table border='0' cellspacing='3' cellpadding='3' id='ugm_tb' style='word-wrap:break-word; word-break:break-all'>
        <tr class='alt'><td>1111</td></tr>
        <tr class='alt'><td>1111</td></tr>
        <tr class='alt'><td>1111</td></tr>
        <tr class='alt'><td>1111</td></tr>
      </table>
    </div>
    <!-- 有標題、內容 -->
    <a class='menuitem ' href='#' >物品類別2</a>
    
";
$main=$jquery_path.ugm_javascript(1).$ddaccordion."
  <form action='{$_SERVER['PHP_SELF']}' method='post' id='myForm' enctype='multipart/form-data'>
    <div class='glossymenu'>
      {$main_body}
    </div>
  </form>";
$main=ugm_div("管理主頁",$main,"","width:500px");

2013年5月1日 星期三

dropbox

申請帳號:http://db.tt/z5mauB9b


把dropbox當「圖床」或放js、html,然後連結blog

只要把檔案放在dropbox的「Public」資料夾,

然後執行「copy public link」取得網址即完成。

例如:

http://www.shanmei.info/ 這個網站的slide

是放在:

https://dl.dropbox.com/u/61459273/www/shanmei/slide/index.html

很簡單吧~~~

2013年4月28日 星期日

連動選單



html


  $select_uint_form="
     單位:";

  $select_user_form="
     使用者:";


javascript



  



ajax.php


include_once "header.php";
$op=(empty($_REQUEST['op']))?"main":$_REQUEST['op'];
$unit=intval($_REQUEST['unit']);

switch($op){
  //
 case "get_user":
    echo get_user_form_unit($unit);
    //echo json_encode(array("prod_sort"=>$main['prod_sort'],"total"=>$main['total']));
 break;
  
  //預設動作
  default:
  $main="";
  break;
}
#################################################################################
# 以單位取得使用者的選單
#
#
#
#
#
################################################################################
function get_user_form_unit($unit_sn){
  global $xoopsDB;
  $sql="select a.* ,b.`name`,b.`uname` from  ".$xoopsDB->prefix("ugm_apply_users")." as a left join ".$xoopsDB->prefix("users")." as b on a.`uid`=b.`uid` where a.`unit_sn`='{$unit_sn}' ";
  $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error());
  $main="";
  while($all=$xoopsDB->fetchArray($result)){
   foreach($all as $k=>$v){
     $$k=$v;
   }
   $uid_name=$name?$name:$uname;
   $main.="";
  }
  return $main;
}


2013年4月27日 星期六

涷結窗格

  $main=$jquery_path.ugm_javascript(1)."
  <link href='class/ScrollTable/superTables.css' rel='Stylesheet' type='text/css' />
  <script type='text/javascript' src='class/ScrollTable/superTables.js'></script>
  <style>
  .fakeContainer {
      margin: 20px;
      padding: 0px;
      border: none;
      width: 95%;
      height: 300px;
      overflow: hidden;
  }
  </style> 
  <div class='fakeContainer'>
  <table id='ugm_tb' border='0' cellspacing='3' cellpadding='3'>
    <tr><th>標題</th>{$main_head}</tr>
    {$main_body}
  
  </table>
  </div>
  <script type='text/javascript'>
  (function() {
      new superTable('ugm_tb', {
          cssSkin : 'sSky', //颜色方案
          fixedCols : 1 //固定几列
      });
  })();
  </script>
  ";
  # 這裡若用「%」設寬度且標題過長,則垂直捲軸失效
  $main=$select_form.ugm_div($xoopsModuleConfig['statements_title']." - {$year} 年 {$month} 月份 各單位領用消耗品統計表",$main,"","width:95%;");
  return $main;

 

2013年4月25日 星期四

TCPDF分頁2

<?php

$page_count=28;//每頁筆數
while($all=$xoopsDB->fetchArray($result)){
 
  $i=0;
  
  $array=取得列表陣列函數;# 將資料整合成陣列
  
  $count=count(陣列);
  
  foreach($array as $key=>$value){
    if($i==0 or $i%($page_count)==0){
      $pdf->AddPage(); //新增頁面
      # ------- 每頁標題 ---------------------
      $main="";
    }
    foreach($value as $k1=>$v1){
      $$k1=$v1;    
    }
    # ------- body ---------------------------
    $main.="身體檔";
    $i++;
  
    if($i==$count){ 
     $main.="本期結餘"+"頁尾"; 
     $pdf->writeHTML($main, true, false, false, false, '');
    }elseif($i%($page_count)==0){
      #換頁
     $main.="頁尾"; 
     $pdf->writeHTML($main, true, false, false, false, ''); 
    }
  } 
}
// -----------------------------------------------------------------------------
$pdf->Output("pdf_commodity_in_out_{$year}-{$month}.pdf", 'I');


?>

2013年4月18日 星期四

TCPDF分頁

$page=1;
$row=1;
$page_count=20;//每頁筆數
$total         //總筆數

while($all=$xoopsDB->fetchArray($result)){

  # -------- 頁首 -------------------------------------------------------
  if($row==1 or ($row%(($page-1)*$page_count+1)==0 and $row>$page_count)){ 
    $pdf->AddPage(); //新增頁面
    $main="<table><tr><th></th></tr>";
  }
  #----------body ----------------------
   $main.="<tr><td></td></tr>"; 
  #--------- 頁尾 ------------------------
  if($row==$total or $row%($page_count)==0){
   $main.="</table>";
   $pdf->writeHTML($main, true, false, false, false, '');
   $page++; #頁數
   $main="";#內容
  }
  $row++;
}

2013年3月29日 星期五

XOOPS與getdate()關係

範例

#---------------------------------------------------------------------
$time=xoops_getUserTimestamp(time()); # xoops 使用者時間 

1364583916
#---------------------------------------------------------------------
$today  = getdate($time );  # 格式化日期(xoops 使用者時間) 顯示畫面 
 
Array ( 
[seconds] => 16 
[minutes] => 5 
[hours] => 19 
[mday] => 29 
[wday] => 5 
[mon] => 3 
[year] => 2013 
[yday] => 87 
[weekday] => Friday 
[month] => March 
[0] => 1364583916 ) 
#---------------------------------------------------------------------

$today1 = getdate(); # 格式化日期(主機時間)

Array ( 
[seconds] => 16 
[minutes] => 5 
[hours] => 11 
[mday] => 29 
[wday] => 5 
[mon] => 3 
[year] => 2013 
[yday] => 87 
[weekday] => Friday 
[month] => March 
[0] => 1364555116 ) 

#---------------------------------------------------------------------
$today2 = getdate(userTimeToServerTime($time)); 
# 格式化日期(將xoops 使用者時間,還原成主機時間) 儲存進資料庫

Array ( 
[seconds] => 16 
[minutes] => 5 
[hours] => 11 
[mday] => 29 
[wday] => 5 
[mon] => 3 
[year] => 2013 
[yday] => 87 
[weekday] => Friday 
[month] => March 
[0] => 1364555116 ) 
#---------------------------------------------------------------------

 

2013年3月13日 星期三

取得選定群組的會員名單

取得選定群組的會員名單
foreach ($groups  as $k => $group){
    if($k==0){
      $condition.=" where a.`groupid`='{$group}'";    
    }else{
      $condition.=" or a.`groupid`='{$group}'";
    }
}
$sql = "select a.`uid`,b.`name`,b.`uname`,c.`unit_sn`,d.`name` as group_name,e.`title` from ".$xoopsDB->prefix("groups_users_link")." as a left join ".$xoopsDB->prefix("users")." as b on a.`uid`=b.`uid` left join ".$xoopsDB->prefix("ugm_apply_users")." as c on a.`uid`=c.`uid`  left join ".$xoopsDB->prefix("groups")." as d on a.`groupid`=d.`groupid`  left join ".$xoopsDB->prefix("ugm_apply_unit")." as e on c.`unit_sn`=e.`sn`  {$condition} group by a.`uid` order by a.`uid`";

SQL可以透過關鍵字「distinct」將查詢的資料不重覆顯示

SQL可以透過關鍵字「distinct」將查詢的資料不重覆顯示
select distinct 欄位名 from 表名 where 查詢準則
備註:distinct 必須與 where 子句聯合使用,否則輸出的資料不會有變化
範例:
SELECT DISTINCT a.uid,b.name,b.uname
FROM  `x4df_groups_users_link` as a left join `x4df_users` as b on a.uid=b.uid
WHERE a.groupid =2
OR a.groupid =3