PHP修改表格(增刪改)


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

------------------------------------------------------------------------------------

解析變量的時候 引號 可以 看成是 變量自身的 也可以看成 是 格式里自帶的 這就好理解 為什么 有的解析出來需要加引號 有的不需要加引號了
 
 
做題永遠不要 把 數據庫 和 界面割裂開 (租房問題) 要做到 后端 怎么改前端怎么變
 
有些屬性 在 div 里面有 默認值 所以用的時候不用設置屬性 比如 display 默認 block 即使不寫 也默認 同理 checked 屬性(詳見下面租房例題中)

 

--------------------------------------------------------------------------------------

注意:   1.執行過程中並不是在同一個界面進行的  而是來回跳轉界面 因為速度太快 所以感覺界面不動;

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

           2.跳轉界面並不是  重新打開界面: js中跳轉界面:window.location.href("")

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

             跳轉界面: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

 

 

 

 

              


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM