PHP修改表格(增刪改)

   要求: 1.熟練shi用  post 和  get  傳值        2. php嵌套在HTML中        3.熟練:if 語句(其餘語句)的使用javascript

------------------------------------------------------------------------------------php

解析變量的時候 引號 能夠 當作是 變量自身的 也能夠當作 是 格式裏自帶的 這就好理解 爲何 有的解析出來須要加引號 有的不須要加引號了
 
 
作題永遠不要 把 數據庫 和 界面割裂開 (租房問題) 要作到 後端 怎麼改前端怎麼變
 
有些屬性 在 div 裏面有 默認值 因此用的時候不用設置屬性 好比 display 默認 block 即便不寫 也默認 同理 checked 屬性(詳見下面租房例題中)

 

--------------------------------------------------------------------------------------html

注意:   1.執行過程當中並非在同一個界面進行的  而是來回跳轉界面 由於速度太快 因此感受界面不動;前端

        操做界面(顯示界面)-->代碼執行界面-->操做界面(顯示界面)java

           2.跳轉界面並非  從新打開界面: js中跳轉界面:window.location.href("")正則表達式

                       PHP中跳轉界面:header("location:這裏寫地址不加引號");sql

             跳轉界面:window.location.href("");數據庫

    3.提交按鈕 按下時  首先觸發點擊事件(例如前面說的JS代碼 正則表達式中 例題  也能夠看下面例題 )執行完畢後再提交信息;後端

    4.PHP中  post  與 get  的區別(把屬性也一塊兒傳了過去)數組

        ①相同點:  post與get 均可以接收不用界面提交的 數據(接收的數據存在數組裏面)【關聯數組的形式存在】

        ②不一樣點:  post只能夠接受 表單提交的數據 ,get 能夠接收非表單傳來的數據(包括表單)

                  重點介紹get 方法   :如下只是個特例  ,使用這種方法兩個條件:1.自動跳轉到代碼界面href='shanchu.php

                                                2.?後邊表示出要傳給post的值?code="要傳什麼?";

                                                    總體寫法 以下:                                               

<a href='shanchu.php?code={$attr[0]}' onclick=\"return confirm('肯定刪除麼')\">
		刪除
		</a>

---------------以上內容 都是本身觀點 歡迎指正-----------------------------------------------------------------------------------

1.經過PHP 對數據庫進行增刪改的方法

難點是有外鍵關係的(以及類似的) 進行增刪改  ;  難點2: 對數據庫的修改

主要步驟

1.主界面((須要創建表格)須要修改的界面)①+跳轉界面

2.(修改)代碼界面(這個界面由於須要填寫內容 因此須要 表單元素  <input > 標籤) ②+跳轉到下一界面(添加界面)

3.添加界面③+跳轉界面(跳轉到主界面)修改爲功在主界面上面顯示

難點: 每一步中 都須要用到  多張表格的內容---須要if語句的嵌套

---未完待續

--------------------小知識(本身掛點歡迎指正)-----------------------------------------------------------------------------------         

1.PHP標籤內的變量只能由PHP標籤內的語句接收;
2.PHP 語句 就是 嵌在語句內部 充當JS語句的
3.echo 輸出字符串(輸出語句加引號)
4.若是引號內部 還有引號衝突 則使用---轉義字符
5.PHP與語句 能夠嵌在 任何位置 充當 JS的角色
6.解析變量的時候 若是有 轉義字符 轉義後若是是字符串 在轉義時要加引號

7.只有PHP代碼的頁面代碼區域 只須要寫裸的PHP 代碼

 8.表單元素中 改變輸入內容 修改的是value值  下拉菜單除外   詳見  下面例題

---------------------------------如下三個代碼區爲一個完整的修改過程--------------------(多張表存在關係的處理)-- 

1.第一步:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>

<body>
<table width="100%" border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td>代號</td>
        <td>姓名</td>
        <td>性別</td>
        <td>民族</td>
        <td>生日</td>
        <td>操做</td>
    </tr>
    
    <?php
    
    $db = new MySQLi("localhost","root","123","mydb");
    $sql = "select * from info";
    
    $result = $db->query($sql);
    $attr = $result->fetch_all();
    
    foreach($attr as $v)
    {
        $sex = $v[2];
        $sex = $sex?"":"";
        
        $nation = $v[3];
        $sqln = "select name from nation where code='{$nation}'";
        $rn = $db->query($sqln);
        $an = $rn->fetch_row();
        
        echo "<tr><td>{$v[0]}</td><td>{$v[1]}</td><td>{$sex}</td><td>{$an[0]}</td><td>{$v[4]}</td><td><a href='xiugaiinfo.php?code={$v[0]}'>修改</a></td></tr>";
    }
    
    ?>
    
</table>
</body>
</html>
info.php

2.第二步:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>無標題文檔</title>
 6 </head>
 7 
 8 <body>
 9 <?php
10 $code = $_GET["code"];
11 $db = new MySQLi("localhost","root","123","mydb");
12 $sql = "select * from info where code='{$code}'";
13 
14 $result = $db->query($sql);
15 $attr = $result->fetch_row();
16 ?>
17 
18 <h1>修改人員信息</h1>
19 <form action="uinfochuli.php" method="post">
20 <div>
21     <input type="hidden" value="<?php echo $attr[0] ?>" name="code" />
22 </div>
23 <div>
24     姓名:
25     <input type="text" name="name" value="<?php echo $attr[1] ?>" />
26 </div>
27 <div>
28     性別:
29     <input <?php echo $attr[2]?"checked='checked'":""; ?> type="radio" name="sex" value="1" />30     <input <?php echo $attr[2]?"":"checked='checked'"; ?> type="radio" name="sex" value="0" />31 </div>
32 <div>
33     民族:
34     <select name="nation">
35         <?php 
36         $sqln = "select * from nation";
37         $rn = $db->query($sqln);
38         $an = $rn->fetch_all();
39         foreach($an as $vn)
40         {
41             if($attr[3]==$vn[0])
42             {
43                 echo "<option selected='selected' value='{$vn[0]}'>{$vn[1]}</option>";
44             }
45             else
46             {
47                 echo "<option value='{$vn[0]}'>{$vn[1]}</option>";
48             }
49         }
50         ?>
51     </select>
52 </div>
53 <div>
54     生日:
55     <input type="text" name="birthday" value="<?php echo $attr[4] ?>" />
56 </div>
57 <div><input type="submit" value="修改" /></div>
58 </form>
59 </body>
60 </html>
xiugaiinfo.php

3.第三步:$r = $db->query($sql); $r是一個boolearn值

 1 <?php
 2 $code = $_POST["code"];
 3 $name = $_POST["name"];
 4 $sex = $_POST["sex"];
 5 $nation = $_POST["nation"];
 6 $birthday = $_POST["birthday"];
 7 
 8 $db = new MySQLi("localhost","root","123","mydb");
 9 $sql = "update info set name='{$name}',sex={$sex},nation='{$nation}',birthday='{$birthday}' where code='{$code}'";
10 
11 echo $sql;
12 
13 $r = $db->query($sql);
14 
15 if($r)
16 {
17     header("location:info.php");
18 }
19 else
20 {
21     echo "修改失敗!";
22 }
uinfochuli.php
相關文章
相關標籤/搜索