:::
所有書籍
「[1012]PHP進階開發及TadTools工具應用」目錄
MarkDown
16. 用TCPDF產生PDF(上)
1. jQuery的用法
1-1 上課範例:index.html
2. 連動選單
2-1 上課範例:admin/index.php
2-2 上課範例:admin/ajax.php
3. 郵遞區號地址
3-1 上課範例:admin/index.php
3-2 上課範例:index.php
3-3 上課範例:ajax.php
4. 點擊編輯
4-1 上課範例:index.html
4-2 上課範例:save.php
4-3 上課範例:admin/index.php
4-4 上課範例:admin/save.php
5. 表單驗證
5-1 上課範例:admin/index.php
5-2 上課範例:index.php
5-3 上課範例:ajax.php
6. 表格拉動排序
6-1 上課範例:admin/cate.php
6-2 上課範例:admin/save_sort.php
7. 整合型上傳工具
7-1 上課範例:admin/index.php
7-2 上課範例:up_file.php
7-3 上課範例:index.php
8. 頁籤與小月曆之應用
8-1 上課範例:admin/index.php
8-2 上課範例:index.php
8-3 上課範例:ajax2.php
9. fullcalendar月曆應用
9-1 上課範例:birthday.php
9-2 上課範例:header.php
9-3 上課範例:get_events.php
10. QR Code應用
10-1 上課範例:xoops_version.php
10-2 上課範例:blocks/contact_qrcode.php
10-3 上課範例:templates/blocks/contact_qrcode.html
10-4 上課範例:pda.php
10-5 上課範例:blocks/contact_qrcode.php(不替換網址)
10-6 上課範例:index.php
11. Jquery Mobile
11-1 上課範例:blocks/contact_qrcode.php
11-2 上課範例:pda.php
11-3 上課範例:data.php
12. java上傳及影片播放
12-1 上課範例:data.php
12-2 上課範例:index.php
12-3 上課範例:jupload.php
12-4 上課範例:play.php
13. CSV的匯出與匯入
13-1 上課範例:通訊錄.csv
13-2 上課範例:admin/index.php
13-3 上課範例:__fgetcsv()
14. 產生Excel報表
14-1 上課範例:admin/excel.php
14-2 上課範例:admin/index.php
14-3 上課範例:admin/excel.php(多表)
15. 匯入Excel檔
15-1 上課範例:admin/excel.php
15-2 上課範例:admin/index.php
16. 用TCPDF產生PDF(上)
16-1 上課範例:admin/index.php
16-2 上課範例:admin/pdf.php
17. 用TCPDF產生PDF(下)
17-1 上課範例:admin/index.php
17-2 上課範例:admin/pdf2.php
17-3 上課範例:admin/pdf_all.php
18. 產出真實word檔
18-1 上課範例:admin/index.php
18-2 上課範例:admin/docx.php
16-2 上課範例:admin/pdf.php
\[1012\]PHP進階開發及TadTools工具應用 ============================ ```
render(); $main=" $jquery $formValidator_code
群組
姓名
電話
信箱
生日
上傳圖片
". list_del_file('photo',$sn)."
上傳相關檔案
". list_del_file('files',$sn)."
地址
"; //raised,corners,inset $main=div_3d("通訊錄管理",$main,"raised"); return $main; } //新增資料到contact中 function insert_contact(){ global $xoopsDB,$xoopsUser; $myts =& MyTextSanitizer::getInstance(); $_POST['tel']=$myts->addSlashes($_POST['tel']); $_POST['email']=$myts->addSlashes($_POST['email']); $_POST['name']=$myts->addSlashes($_POST['name']); $_POST['birthday']=$myts->addSlashes($_POST['birthday']); $_POST['zip']=$myts->addSlashes($_POST['zip']); $_POST['county']=$myts->addSlashes($_POST['county']); $_POST['city']=$myts->addSlashes($_POST['city']); $_POST['addr']=$myts->addSlashes($_POST['addr']); $sql = "insert into `".$xoopsDB->prefix("contact")."` (`tel` , `email` , `name` , `gsn` , `birthday` , `zip` , `county` , `city` , `addr`) values('{$_POST['tel']}' , '{$_POST['email']}' , '{$_POST['name']}' , '{$_POST['gsn']}' , '{$_POST['birthday']}' , '{$_POST['zip']}' , '{$_POST['county']}' , '{$_POST['city']}' , '{$_POST['addr']}')"; $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error()); //取得最後新增資料的流水編號 $sn = $xoopsDB->getInsertId(); upload_file('photo' , $sn , '400'); upload_file('files' , $sn , '400' , 'docs'); return $sn; } //更新contact某一筆資料 function update_contact($sn=""){ global $xoopsDB,$xoopsUser; $myts =& MyTextSanitizer::getInstance(); $_POST['tel']=$myts->addSlashes($_POST['tel']); $_POST['email']=$myts->addSlashes($_POST['email']); $_POST['name']=$myts->addSlashes($_POST['name']); $_POST['birthday']=$myts->addSlashes($_POST['birthday']); $_POST['zip']=$myts->addSlashes($_POST['zip']); $_POST['county']=$myts->addSlashes($_POST['county']); $_POST['city']=$myts->addSlashes($_POST['city']); $_POST['addr']=$myts->addSlashes($_POST['addr']); $sql = "update `".$xoopsDB->prefix("contact")."` set `tel` = '{$_POST['tel']}' , `email` = '{$_POST['email']}' , `name` = '{$_POST['name']}' , `gsn` = '{$_POST['gsn']}' , `birthday` = '{$_POST['birthday']}' , `zip` = '{$_POST['zip']}' , `county` = '{$_POST['county']}' , `city` = '{$_POST['city']}' , `addr` = '{$_POST['addr']}' where `sn` = '$sn'"; $xoopsDB->queryF($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error()); upload_file('photo' , $sn , '400'); upload_file('files' , $sn , '400' , 'docs'); return $sn; } //列出所有contact資料 function list_contact($show_function=1){ global $xoopsDB , $xoopsModule , $isAdmin; //製作選項 $sql = "select gsn,title from `".$xoopsDB->prefix("contact_cate")."` where parent_gsn!='0' order by sort"; $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error()); while(list($gsn,$title)=$xoopsDB->fetchRow($result)){ $cate_arr[]="'$gsn':'$title'"; } $cate_option=implode(" , ",$cate_arr); include_once XOOPS_ROOT_PATH."/modules/tadtools/jeditable.php"; $file="save.php"; $jeditable = new jeditable(); //$jeditable->setTextCol("#id",$file,'140px','12px',"{'sn':$sn,'op' : 'save'}","點擊編輯"); //$jeditable->setTextAreaCol("#id",$file,'140px','12px',"{'sn':$sn,'op' : 'save'}","點擊編輯"); //$jeditable->setSelectCol("#id",$file,"{'boy':'男生' , 'girl':'女生'}","{'sn' : $sn , 'op' : 'save'}","點擊編輯"); $sql = "select * from `".$xoopsDB->prefix("contact")."` "; $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error()); $function_title=($show_function)?"
功能
":""; $all_content=""; while($all=$xoopsDB->fetchArray($result)){ //以下會產生這些變數: $tel , $email , $name , $gsn , $sn , $birthday , $zip , $county , $city , $addr foreach($all as $k=>$v){ $$k=$v; } $fun=($show_function)?"
編輯
刪除
":""; $jeditable->setSelectCol("#gsn_{$sn}",$file,"{{$cate_option}}","{'sn' : $sn , 'col' : 'gsn'}"); $jeditable->setTextCol("#name_{$sn}",$file,'100px','12px',"{'sn':$sn , 'col' : 'name'}"); $jeditable->setTextCol("#email_{$sn}",$file,'100px','12px',"{'sn':$sn , 'col' : 'email'}"); $cate=get_contact_cate_all(); $file_counter1=get_file_amount('photo' , $sn); $file_counter2=get_file_amount('files' , $sn); $all_content.="
{$cate[$gsn]['title']}
{$name}
{$tel}
{$email}
{$birthday}
{$zip}
{$county}
{$city}
{$addr}
{$file_counter1}
{$file_counter2}
$fun
"; } $jeditable_set=$jeditable->render(); //if(empty($all_content))return ""; $add_button=($show_function)?"
新增
":""; //刪除確認的JS $main=" $jeditable_set 批次匯入:
群組
姓名
電話
信箱
生日
郵遞區號
縣市
鄉鎮市區
地址
相片
檔案數
$function_title
$all_content
{$add_button}
"; //raised,corners,inset $main=div_3d("",$main,"corners"); return $main; } //以流水號取得某筆contact資料 function get_contact($sn=""){ global $xoopsDB; if(empty($sn))return; $sql = "select * from `".$xoopsDB->prefix("contact")."` where `sn` = '{$sn}'"; $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error()); $data=$xoopsDB->fetchArray($result); return $data; } //刪除contact某筆資料資料 function delete_contact($sn=""){ global $xoopsDB , $isAdmin; $sql = "delete from `".$xoopsDB->prefix("contact")."` where `sn` = '{$sn}'"; $xoopsDB->queryF($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error()); del_files('' , 'photo' , $sn); del_files('' , 'files' , $sn); } //取得所有contact_cate分類選單的選項(模式 = edit[編輯用] or show[顯示用],目前分類編號,目前分類的所屬編號) function get_contact_cate_options($mode='show' , $default_gsn="0" , $default_parent_gsn="0" , $unselect_level="" , $start_search_sn="0" , $level=0){ global $xoopsDB , $xoopsModule; $sql = "select `gsn` , `title` from `".$xoopsDB->prefix("contact_cate")."` where `parent_gsn` = '{$start_search_sn}' order by `sort`"; $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'] , 3, mysql_error()); $prefix=str_repeat(" " , $level); $level++; $unselect=explode("," , $unselect_level); $main=""; while(list($gsn , $title)=$xoopsDB->fetchRow($result)){ if($mode=="edit"){ $selected=($gsn==$default_parent_gsn)?"selected=selected":""; $selected.=($gsn==$default_gsn)?"disabled=disabled":""; $selected.=(in_array($level , $unselect))?"disabled=disabled":""; }else{ $selected=($gsn==$default_gsn)?"selected=selected":""; $selected.=(in_array($level , $unselect))?"disabled=disabled":""; } $main.="
{$prefix}{$title}
"; $main.=get_contact_cate_options($mode , $default_gsn , $default_parent_gsn , $unselect_level , $gsn , $level); } return $main; } //匯入 function import(){ global $xoopsDB; //$main="
"; $handle = fopen($_FILES['userfile']['tmp_name'], "r") or die("無法開啟"); while (($data = __fgetcsv($handle, 1000)) !== FALSE) { //判斷格式 if(!is_numeric($data[0])){ continue; } $data[1]=mb_convert_encoding($data[1], "UTF-8" , "Big5"); $data[6]=iconv("Big5" , "UTF-8" , $data[6]); $data[7]=iconv("Big5" , "UTF-8" , $data[7]); $data[8]=iconv("Big5" , "UTF-8" , $data[8]); /* $main.="
{$data[0]}
{$data[1]}
{$data[2]}
{$data[3]}
{$data[4]}
{$data[5]}
{$data[6]}
{$data[7]}
{$data[8]}
"; */ $sql = "insert into `".$xoopsDB->prefix("contact")."` (`gsn` , `name` , `tel` , `email` , `birthday` , `zip` , `county` , `city` , `addr`) values('{$data[0]}' , '{$data[1]}' , '{$data[2]}' , '{$data[3]}' , '{$data[4]}' , '{$data[5]}' , '{$data[6]}' , '{$data[7]}' , '{$data[8]}')"; $xoopsDB->queryF($sql) or die($sql); } fclose($handle); //$main.="
"; return $main; } function __fgetcsv(&$handle, $length = null, $d = ",", $e = '"') { $d = preg_quote($d); $e = preg_quote($e); $_line = ""; $eof=false; while ($eof != true) { $_line .= (empty ($length) ? fgets($handle) : fgets($handle, $length)); $itemcnt = preg_match_all('/' . $e . '/', $_line, $dummy); if ($itemcnt % 2 == 0) $eof = true; } $_csv_line = preg_replace('/(?: |[ ])?$/', $d, trim($_line)); $_csv_pattern = '/(' . $e . '[^' . $e . ']*(?:' . $e . $e . '[^' . $e . ']*)*' . $e . '|[^' . $d . ']*)' . $d . '/'; preg_match_all($_csv_pattern, $_csv_line, $_csv_matches); $_csv_data = $_csv_matches[1]; for ($_csv_i = 0; $_csv_i < count($_csv_data); $_csv_i++) { $_csv_data[$_csv_i] = preg_replace("/^" . $e . "(.*)" . $e . "$/s", "$1", $_csv_data[$_csv_i]); $_csv_data[$_csv_i] = str_replace($e . $e, $e, $_csv_data[$_csv_i]); } return empty ($_line) ? false : $_csv_data; } //匯出函數 function export(){ global $xoopsDB; $sql = "select * from `".$xoopsDB->prefix("contact")."` "; $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error()); $main="gsn,name,tel,email,birthday,zip,county,city,addr\n"; while($all=$xoopsDB->fetchArray($result)){ //以下會產生這些變數: $tel , $email , $name , $gsn , $sn , $birthday , $zip , $county , $city , $addr foreach($all as $k=>$v){ $$k=$v; } $name=iconv("UTF-8" , "Big5" , $name); $county=iconv("UTF-8" , "Big5" , $county); $city=iconv("UTF-8" , "Big5" , $city); $addr=iconv("UTF-8" , "Big5" , $addr); $main.="$gsn,$name,$tel,$email,$birthday,$zip,$county,$city,$addr\n"; } header("Content-type: text/x-csv"); header("Content-Disposition: attachment; filename=contact.csv"); echo $main; exit; } //匯入Excel function import_excel(){ global $xoopsDB; include_once '../class/PHPExcel/IOFactory.php'; $reader = PHPExcel_IOFactory::createReader('Excel5'); $PHPExcel = $reader->load( $_FILES['importfile']['tmp_name'] ); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 // 一次讀取一列 for($row = 1; $row <= $highestRow; $row++) { $v=""; //讀取一列中的每一格 for ($col = 0; $col <= 8; $col++) { //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $sheet->getCellByColumnAndRow($col , $row ) )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $sheet->getCellByColumnAndRow( $col , $row )->getValue())->format('Y-m-d'); }else{ $val = $sheet->getCellByColumnAndRow($col, $row)->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $v[$col]=addSlashes($val); } } if(!is_numeric($v[0]) or empty($v[0]))continue; $sql = "insert into `".$xoopsDB->prefix("contact")."` (`gsn` , `name` , `tel` , `email` , `birthday` , `zip` , `county` , `city` , `addr`) values('{$v[0]}' , '{$v[1]}' , '{$v[2]}' , '{$v[3]}' , '{$v[4]}' , '{$v[5]}' , '{$v[6]}' , '{$v[7]}' , '{$v[8]}')"; $xoopsDB->queryF($sql) or die($sql); } } /*-----------執行動作判斷區----------*/ $op = empty($_REQUEST['op'])? "":$_REQUEST['op']; $sn=empty($_REQUEST['sn'])?"":intval($_REQUEST['sn']); $gsn=empty($_REQUEST['gsn'])?"":intval($_REQUEST['gsn']); $files_sn=empty($_REQUEST['files_sn'])?"":intval($_REQUEST['files_sn']); switch($op){ /*---判斷動作請貼在下方---*/ //新增資料 case "insert_contact": $sn=insert_contact(); header("location: {$_SERVER['PHP_SELF']}?sn=$sn"); break; //更新資料 case "update_contact": update_contact($sn); header("location: {$_SERVER['PHP_SELF']}"); break; //輸入表格 case "contact_form": $main=contact_form($sn); break; //刪除資料 case "delete_contact": delete_contact($sn); header("location: {$_SERVER['PHP_SELF']}"); break; //匯入 case "import": import(); header("location: {$_SERVER['PHP_SELF']}"); break; //匯出 case "export": export(); break; //匯入Excel case "import_excel": import_excel(); header("location: {$_SERVER['PHP_SELF']}"); break; //預設動作 default: $main=list_contact(); break; /*---判斷動作請貼在上方---*/ } /*-----------秀出結果區--------------*/ module_admin_footer($main,0); ?> ```
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
539
人線上 (
197
人在瀏覽
線上書籍
)
會員: 0
訪客: 539
更多…
:::
主選單
NTPC OpenID
活動報名
模組控制台
進階區塊管理
站長工具箱(急救版)
網站地圖
Tad Tools 工具包
站長工具箱
行事曆
討論留言
嵌入區塊模組
快速登入
網站計數器
好站連結
最新消息
檔案下載
線上書籍
電子相簿
影音播放
常見問題
萬用表單
友站消息
社大學員
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
登入
登入
帳號
密碼
登入