Toggle main menu visibility
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
:::
登入
登入
帳號
密碼
登入
重整畫面
:::
所有書籍
「[1012]PHP進階開發及TadTools工具應用」目錄
MarkDown
15-1 上課範例:admin/excel.php
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. 用TCPDF產生PDF(上)
\[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); } } /*-----------執行動作判斷區----------*/ $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書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
52
人線上 (
6
人在瀏覽
線上書籍
)
會員: 0
訪客: 52
更多…