<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      寫了個函數

      [摘要]<?php/*** 函數 data_box* 功能 根據模板輸出數據源中的內容* 參數* fun 回調函數,必須提供。作用是從數據源中讀取數據。要求返回的最好是關聯數組* source 數據源...
      <?php
      /**
      * 函數 data_box
      * 功能 根據模板輸出數據源中的內容
      * 參數
      * $fun 回調函數,必須提供。作用是從數據源中讀取數據。要求返回的最好是關聯數組
      * $source 數據源,必須提供?梢允菙到M或查詢結果
      * $template 模板,可以沒有。未提供模板時用標準表格輸出數據
      * 模板格式:
      * array(top=>"",block=>"",fool=>"")
      * 其中:
      * top 開始部分
      * block 可重復部分,變量為關聯數組的鍵,形如$IN_varname。其中前導的IN_可省略
      * fool 結束部分
      */
      function data_box($_fun,$_source,$_template="") {
      $_ar = $_fun(&$_source);
      if($_template == "") {
      while(list($k,) = each($_ar)) {
      $th .= "<th>$k</th>";
      $td .= "<td>\$IN_$k</td>";
      }
      $_template = array(top=>"<table border><tr>$th</tr>",block=>"<tr>$td</tr>",fool=>"");
      }else if(! preg_match("/\$IN_\w+/",$_template[block]))
      $_template[block] = preg_replace("/[\$](\w*)/U","\$IN_\\1",$_template[block]);

      $buf = eval("return \"$_template[top]\";");
      do {
      extract($_ar, EXTR_PREFIX_ALL, "IN");
      $buf .= eval("return \"$_template[block]\";");
      }while($_ar = $_fun(&$_source));
      $buf .= eval("return \"$_template[fool]\";");
      return $buf;
      }

      function get_data($source) {
      if(list($k,$v) = each($source))
      return $v;
      return false;
      }

      $arr = array(
      array(a=>1,b=>2,c=>3,11,12,31),
      array(a=>11,b=>12,c=>13,11,12,131)
      );

      echo data_box("get_data",$arr);
      echo data_box("get_data",$arr,array(top=>"列表測試<select>",block=>'<option value=$a>$b',fool=>"</select><br>"));

      $tpl = array(top=>"月歷測試<table><tr bgcolor='#000000' style='color:#cfcfcf'><th>日</th><th>一</th><th>二</th><th>三</th><th>四</th><th>五</th><th>六</th></tr>",block=>'<tr><td>$0</td><td>$1</td><td>$2</td><td>$3</td><td>$4</td><td>$5</td><td>$6</td></tr>',fool=>"");

      $a = array_merge(array_fill(0,$w=date("w",mktime(0,0,0,date("m"),1,date("Y")))," "),range(1,$d=date("t")),array_fill(0,(7-($w+$d)%7)%7," "));
      for($i=0;$i<count($a);$i+=7)
      $ar[] = array_slice($a,$i,$i+7);

      echo ereg_replace("<td>(".date("d")."</td>)","<td bgcolor='#000000' style='color:#ffffff'>\\1",data_box("get_data",$ar,$tpl));

      $tpl = array(top=>"分頁導航測試<br>",block=>'共{$0}條[{$1}頁] 第{$2}頁 {$3} {$4} {$5} {$6}',fool=>"");
      $record = 20;
      $pagesize = 6;
      $pages = ceil($record/$pagesize);
      $page=2;

      $ar = array(
      array($record,$pages,$page,
      $page>1?"首頁":"",
      $page>1?"上頁":"",
      $page<$pages?"下頁":"",
      $page<$pages?"尾頁":""
      )
      );
      echo data_box("get_data",$ar,$tpl);
      ?>



      標簽:寫了個函數 
      日韩精品一区二区三区高清