PHP修改表格(增删改)
要求: 1.熟练shi用 post 和 get 传值 2. php嵌套在HTML中 3.熟练:if 语句(其他语句)的使用
------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
注意: 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 代码
---------------------------------以下三个代码区为一个完整的修改过程--------------------(多张表存在关系的处理)--
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>
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>
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 }