:::

3-1 上課範例:admin/index.php

001<?php
002 
003/*-----------引入檔案區--------------*/
004include_once "header_admin.php";
005 
006/*-----------function區--------------*/
007//contact編輯表單
008function contact_form($sn=""){
009    global $xoopsDB,$xoopsUser;
010 
011    //抓取預設值
012    if(!empty($sn)){
013        $DBV=get_contact($sn);
014    }else{
015        $DBV=array();
016    }
017 
018    //預設值設定
019 
020    //設定「tel」欄位預設值
021    $tel=(!isset($DBV['tel']))?"":$DBV['tel'];
022 
023    //設定「email」欄位預設值
024    $email=(!isset($DBV['email']))?"":$DBV['email'];
025 
026    //設定「name」欄位預設值
027    $name=(!isset($DBV['name']))?"":$DBV['name'];
028 
029    //設定「gsn」欄位預設值
030    $gsn=(!isset($DBV['gsn']))?null:$DBV['gsn'];
031 
032    //設定「sn」欄位預設值
033    $sn=(!isset($DBV['sn']))?$sn:$DBV['sn'];
034 
035    //設定「birthday」欄位預設值
036    $birthday=(!isset($DBV['birthday']))?"":$DBV['birthday'];
037 
038    //設定「zip」欄位預設值
039    $zip=(!isset($DBV['zip']))?"":$DBV['zip'];
040 
041    //設定「county」欄位預設值
042    $county=(!isset($DBV['county']))?"":$DBV['county'];
043 
044    //設定「city」欄位預設值
045    $city=(!isset($DBV['city']))?"":$DBV['city'];
046 
047    //設定「addr」欄位預設值
048    $addr=(!isset($DBV['addr']))?"":$DBV['addr'];
049 
050    $op=(empty($sn))?"insert_contact":"update_contact";
051 
052 
053  $jquery=get_jquery();
054 
055    $main="
056    $jquery
057  <script language='javascript' src='../class/twzipcode-1.3.1.js'></script>
058    <script type='text/javascript'>
059  $(document).ready(function(){
060    $.post('ajax.php' , function(data){
061      $('#menu1').html(data);
062      $.post('ajax.php' , {parent_gsn: $('#menu1').val()} , function(data){
063        $('#menu2').html(data);
064      });
065    });
066     
067    $('#menu1').change(function(){
068      $.post('ajax.php' , {parent_gsn: $('#menu1').val()} , function(data){
069        $('#menu2').html(data);
070      });
071    });
072     
073    $('#AddrForm').twzipcode({
074      countyName: 'county',
075      areaName: 'city',
076      zipName: 'zip',
077      countySel: '$county',
078      areaSel: '$city',
079      zipSel: '$zip',
080      zipReadonly: false
081    });
082  });
083  </script>
084     
085    <form action='{$_SERVER['PHP_SELF']}' method='post' id='myForm'>
086     
087    <table class='form_tbl'>
088 
089    <!--群組-->
090    <tr><td class='title' nowrap>群組</td>
091    <td class='col'>
092    <select id='menu1'></select>
093    <select name='gsn' id='menu2'></select>
094    </td></tr>
095 
096    <!--姓名-->
097    <tr><td class='title' nowrap>姓名</td>
098    <td class='col'><input type='text' name='name' size='20' value='{$name}' id='name' ></td></tr>
099 
100 
101    <!--電話-->
102    <tr><td class='title' nowrap>電話</td>
103    <td class='col'><input type='text' name='tel' size='20' value='{$tel}' id='tel' ></td></tr>
104 
105    <!--信箱-->
106    <tr><td class='title' nowrap>信箱</td>
107    <td class='col'><input type='text' name='email' size='20' value='{$email}' id='email' ></td></tr>
108     
109     
110    <!--生日-->
111    <tr><td class='title' nowrap>生日</td>
112    <td class='col'><input type='text' name='birthday' size='20' value='{$birthday}' id='birthday' ></td></tr>
113 
114 
115    <!--地址-->
116    <tr><td class='title' nowrap>地址</td>
117    <td class='col'>
118    <div style='position:relative;'>
119   <span id='AddrForm'></span>
120   <input type='text' name='addr' size='30' value='{$addr}' id='addr'>
121  </div>
122  </td></tr>
123 
124    <tr>
125        <td class='bar' colspan='2'>
126 
127        <!--編號-->
128        <input type='hidden' name='sn' value='{$sn}'>
129 
130            <input type='hidden' name='op' value='{$op}'>
131            <input type='submit' value='儲存'>
132        </td>
133    </tr>
134    </table>
135    </form>";
136 
137    //raised,corners,inset
138    $main=div_3d("通訊錄管理",$main,"raised");
139 
140    return $main;
141}
142 
143 
144 
145//新增資料到contact中
146function insert_contact(){
147    global $xoopsDB,$xoopsUser;
148 
149 
150    $myts =& MyTextSanitizer::getInstance();
151    $_POST['tel']=$myts->addSlashes($_POST['tel']);
152    $_POST['email']=$myts->addSlashes($_POST['email']);
153    $_POST['name']=$myts->addSlashes($_POST['name']);
154    $_POST['birthday']=$myts->addSlashes($_POST['birthday']);
155    $_POST['zip']=$myts->addSlashes($_POST['zip']);
156    $_POST['county']=$myts->addSlashes($_POST['county']);
157    $_POST['city']=$myts->addSlashes($_POST['city']);
158    $_POST['addr']=$myts->addSlashes($_POST['addr']);
159 
160 
161    $sql = "insert into `".$xoopsDB->prefix("contact")."`
162    (`tel` , `email` , `name` , `gsn` , `birthday` , `zip` , `county` , `city` , `addr`)
163    values('{$_POST['tel']}' , '{$_POST['email']}' , '{$_POST['name']}' , '{$_POST['gsn']}' , '{$_POST['birthday']}' , '{$_POST['zip']}' , '{$_POST['county']}' , '{$_POST['city']}' , '{$_POST['addr']}')";
164    $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error());
165 
166    //取得最後新增資料的流水編號
167    $sn = $xoopsDB->getInsertId();
168    return $sn;
169}
170 
171//更新contact某一筆資料
172function update_contact($sn=""){
173    global $xoopsDB,$xoopsUser;
174 
175 
176    $myts =& MyTextSanitizer::getInstance();
177    $_POST['tel']=$myts->addSlashes($_POST['tel']);
178    $_POST['email']=$myts->addSlashes($_POST['email']);
179    $_POST['name']=$myts->addSlashes($_POST['name']);
180    $_POST['birthday']=$myts->addSlashes($_POST['birthday']);
181    $_POST['zip']=$myts->addSlashes($_POST['zip']);
182    $_POST['county']=$myts->addSlashes($_POST['county']);
183    $_POST['city']=$myts->addSlashes($_POST['city']);
184    $_POST['addr']=$myts->addSlashes($_POST['addr']);
185 
186 
187    $sql = "update `".$xoopsDB->prefix("contact")."` set
188     `tel` = '{$_POST['tel']}' ,
189     `email` = '{$_POST['email']}' ,
190     `name` = '{$_POST['name']}' ,
191     `gsn` = '{$_POST['gsn']}' ,
192     `birthday` = '{$_POST['birthday']}' ,
193     `zip` = '{$_POST['zip']}' ,
194     `county` = '{$_POST['county']}' ,
195     `city` = '{$_POST['city']}' ,
196     `addr` = '{$_POST['addr']}'
197    where `sn` = '$sn'";
198    $xoopsDB->queryF($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error());
199    return $sn;
200}
201 
202//列出所有contact資料
203function list_contact($show_function=1){
204    global $xoopsDB , $xoopsModule , $isAdmin;
205 
206    $sql = "select * from `".$xoopsDB->prefix("contact")."` ";
207    $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error());
208 
209    $function_title=($show_function)?"<th>功能</th>":"";
210 
211    $all_content="";
212 
213    while($all=$xoopsDB->fetchArray($result)){
214        //以下會產生這些變數: $tel , $email , $name , $gsn , $sn , $birthday , $zip , $county , $city , $addr
215        foreach($all as $k=>$v){
216            $$k=$v;
217        }
218 
219        $fun=($show_function)?"
220        <td>
221        <a href='{$_SERVER['PHP_SELF']}?op=contact_form&sn=$sn' class='link_button'>編輯</a>
222        <a href=\"javascript:delete_contact_func($sn);\" class='link_button'>刪除</a>
223        </td>":"";
224 
225 
226        $cate=get_contact_cate_all();
227 
228        $all_content.="
229        <tr>
230            <td>{$cate[$gsn]['title']}</td>
231            <td>{$name}</td>
232            <td>{$tel}</td>
233            <td>{$email}</td>
234            <td>{$birthday}</td>
235            <td>{$zip}</td>
236            <td>{$county}</td>
237            <td>{$city}</td>
238            <td>{$addr}</td>
239            $fun
240        </tr>
241        ";
242    }
243 
244    //if(empty($all_content))return "";
245 
246    $add_button=($show_function)?"<a href='{$_SERVER['PHP_SELF']}?op=contact_form' class='link_button_r'>新增</a>":"";
247 
248    //刪除確認的JS
249    $main="
250    <script>
251    function delete_contact_func(sn){
252        var sure = window.confirm('確定刪除此資料?');
253        if (!sure)  return;
254        location.href=\"{$_SERVER['PHP_SELF']}?op=delete_contact&sn=\" + sn;
255    }
256    </script>
257 
258    <table summary='list_table' id='tbl' style='width:100%;'>
259    <tr>
260        <th>群組</th>
261        <th>姓名</th>
262        <th>電話</th>
263        <th>信箱</th>
264        <th>生日</th>
265        <th>郵遞區號</th>
266        <th>縣市</th>
267        <th>鄉鎮市區</th>
268        <th>地址</th>
269        $function_title
270    </tr>
271 
272    <tbody>
273    $all_content
274    </tbody>
275 
276    <tr>
277        <td colspan=11 class='bar'>
278        {$add_button}
279        </td>
280    </tr>
281    </table>";
282 
283    //raised,corners,inset
284    $main=div_3d("",$main,"corners");
285 
286    return $main;
287}
288 
289 
290//以流水號取得某筆contact資料
291function get_contact($sn=""){
292    global $xoopsDB;
293    if(empty($sn))return;
294    $sql = "select * from `".$xoopsDB->prefix("contact")."` where `sn` = '{$sn}'";
295    $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error());
296    $data=$xoopsDB->fetchArray($result);
297    return $data;
298}
299 
300//刪除contact某筆資料資料
301function delete_contact($sn=""){
302    global $xoopsDB , $isAdmin;
303    $sql = "delete from `".$xoopsDB->prefix("contact")."` where `sn` = '{$sn}'";
304    $xoopsDB->queryF($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error());
305}
306 
307 
308//取得所有contact_cate分類選單的選項(模式 = edit[編輯用] or show[顯示用],目前分類編號,目前分類的所屬編號)
309function get_contact_cate_options($mode='show' , $default_gsn="0" , $default_parent_gsn="0" , $unselect_level="" , $start_search_sn="0" , $level=0){
310    global $xoopsDB , $xoopsModule;
311    $sql = "select `gsn` , `title` from `".$xoopsDB->prefix("contact_cate")."` where `parent_gsn` = '{$start_search_sn}' order by `sort`";
312    $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'] , 3, mysql_error());
313 
314    $prefix=str_repeat("&nbsp;&nbsp;" , $level);
315    $level++;
316 
317    $unselect=explode("," , $unselect_level);
318 
319    $main="";
320    while(list($gsn , $title)=$xoopsDB->fetchRow($result)){
321        if($mode=="edit"){
322            $selected=($gsn==$default_parent_gsn)?"selected=selected":"";
323            $selected.=($gsn==$default_gsn)?"disabled=disabled":"";
324            $selected.=(in_array($level , $unselect))?"disabled=disabled":"";
325        }else{
326            $selected=($gsn==$default_gsn)?"selected=selected":"";
327            $selected.=(in_array($level , $unselect))?"disabled=disabled":"";
328        }
329        $main.="<option value=$gsn $selected>{$prefix}{$title}</option>";
330        $main.=get_contact_cate_options($mode , $default_gsn , $default_parent_gsn , $unselect_level , $gsn , $level);
331 
332    }
333    return $main;
334}
335 
336 
337/*-----------執行動作判斷區----------*/
338$op = empty($_REQUEST['op'])? "":$_REQUEST['op'];
339$sn=empty($_REQUEST['sn'])?"":intval($_REQUEST['sn']);
340$gsn=empty($_REQUEST['gsn'])?"":intval($_REQUEST['gsn']);
341$files_sn=empty($_REQUEST['files_sn'])?"":intval($_REQUEST['files_sn']);
342 
343 
344switch($op){
345    /*---判斷動作請貼在下方---*/
346 
347  //新增資料
348  case "insert_contact":
349  $sn=insert_contact();
350  header("location: {$_SERVER['PHP_SELF']}?sn=$sn");
351  break;
352 
353  //更新資料
354  case "update_contact":
355  update_contact($sn);
356  header("location: {$_SERVER['PHP_SELF']}");
357  break;
358 
359  //輸入表格
360  case "contact_form":
361  $main=contact_form($sn);
362  break;
363 
364  //刪除資料
365  case "delete_contact":
366  delete_contact($sn);
367  header("location: {$_SERVER['PHP_SELF']}");
368  break;
369 
370  //預設動作
371  default:
372  $main=list_contact();
373  break;
374 
375     
376    /*---判斷動作請貼在上方---*/
377}
378 
379/*-----------秀出結果區--------------*/
380module_admin_footer($main,0);
381 
382?>

:::

搜尋

QR Code 區塊

https%3A%2F%2Ftad0616.cp27.secserverpros.com%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D750%26tbsn%3D26

書籍目錄

展開 | 闔起

線上使用者

61人線上 (16人在瀏覽線上書籍)

會員: 0

訪客: 61

更多…