第一天!写的简单学生信息增删改查。
1/连接数据库conn.php
1 <?php 2 //第一步:链接数据库 3 $conn=@mysql_connect("localhost:3306","root","")or die ("mysql链接失败".mysql_error()); 4 //第二步: 选择指定的数据库,设置字符集 5 @mysql_select_db("student",$conn) or die ("db链接失败".mysql_error()); 6 mysql_query('SET NAMES UTF8')or die ("字符集设置错误"); 7 ?>
2/学生列表list.php
1 //很有意思,开始第9行$row=mysql_fetch_array($result);是为了打印数组做测试, 2 //后来while ($row=mysql_fetch_array($result))历遍出来的数据就是缺少第一条数据,找了很久也没发现问题。 3 //原来是第9行搞的鬼,原来上面第一条数组已经读取过了,下面就从第二条开始了。 4 <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 5 <?php 6 require 'conn.php'; 7 $query="SELECT * FROM stu"; 8 $result=mysql_query($query); 9 //$row=mysql_fetch_array($result); 10 ?> 11 <table border="1"> 12 13 <tr> 14 <td> 15 学号: 16 </td> 17 <td> 18 姓名: 19 </td> 20 <td> 21 年龄: 22 </td> 23 <td> 24 学分: 25 </td> 26 <td> 27 操作: 28 </td> 29 </tr> 30 <tr> 31 <?php 32 while ($row=mysql_fetch_array($result)) { 33 ?> 34 35 <td> 36 <?php echo $row['number'] ?> 37 </td> 38 <td> 39 <?php echo $row['name'] ?> 40 </td> 41 <td> 42 <?php echo $row['age'] ?> 43 </td> 44 <td> 45 <?php echo $row['total'] ?> 46 </td> 47 <td> 48 <a href="del.php?number=<?php echo $row['number'] ?>">删除</a> 49 <a href="edit.php?number=<?php echo $row['number'] ?>">更改</a> 50 </td> 51 </tr> 52 53 <?php 54 } 55 ?> 56 57 </table> 58 <a href="add.php"><input type="button" value="新增" ></a>
3/新增数据add.php
1 //程序上还有bug,用了if else,本想插入成功或失败做一个提醒,但结果是还没提交就提示失败 2 //等我懂了再来改 3 //BUG消除了 4 //修改了判断,不过只判断是否点击按钮+姓名有没有填写 5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 6 7 <?php 8 //require "conn.php"; 9 //$query="INSERT INTO stu(number,name,age,total) VALUES('1','陆文杰','29','400')"; 10 //mysql_query($query) or die("sql错误,信息:".mysql_error()); 11 12 require "conn.php"; 13 14 if (!empty($_POST['sub']&&$_POST['name'])) { 15 $number=$_POST['number']; 16 $name=$_POST['name']; 17 $age=$_POST['age']; 18 $total=$_POST['total']; 19 $query="INSERT INTO stu(number,name,age,total) VALUES('$number','$name','$age','$total')"; 20 mysql_query($query) or die("sql错误,信息:".mysql_error()); 21 echo "新增成功!"; 22 }elseif(!empty($_POST['sub'])&&$_POST['name']==NULL){ 23 24 echo "插入失败!"; 25 } 26 ?> 27 <form action="add.php" method="post"> 28 学号:<input type="text" name="number"><br> 29 姓名:<input type="text" name="name"><br> 30 年龄:<input type="text" name="age"><br> 31 学分:<input type="text" name="total"><br> 32 <input type="submit" name="sub" value="提交"> 33 </form> 34 <a href="list.php"><input type="button" value="查看全部"></a>
4/删除数据del.php
1 //第一次懂怎么用$_GET,url传值 2 //$_GET能写成$_get吗? 3 <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 4 <?php 5 require 'conn.php'; 6 $number=$_GET['number']; 7 $query="DELETE FROM stu WHERE number=$number"; 8 mysql_query($query); 9 echo "删除成功!"; 10 ?> 11 <a href="list.php"><input type="button" value="返回"></a>
5/修改数据edit.php
1 //一开始自己的思路 2 //一直调试不通过,是因为第20行name='$name',需要加单引号。说明对数据库不了解。 3 //数组$Row用while是因为考虑到有可能多条数据一起修改。 4 //不明白$rs[]=$row赋值给另外一个数组后,为什么变成了二位数组。 5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 6 <?php 7 require 'conn.php'; 8 9 $number=$_GET['number']; 10 $query="SELECT * FROM stu WHERE number=$number"; 11 $result=mysql_query($query) or die("SQL error:".mysql_error()); 12 while ( $row=mysql_fetch_array($result)) { 13 $rs[]=$row; 14 } 15 $num=$_POST['number']; 16 $name=$_POST['name']; 17 $age=$_POST['age']; 18 $total=$_POST['total']; 19 20 if (!empty($_POST['sub'])) { 21 $query="UPDATE stu SET number='$num',name='$name',age='$age',total='$total' WHERE number='$number'"; 22 mysql_query($query)or die("SQL ERROR:".mysql_error()); 23 echo "更新成功!"; 24 } 25 print_r($rs) ;//想看看$rs是不是数组。 26 echo $rs[0][1];//开始没有发现他是二维数组,一直用一维调用,总是出错。 27 28 ?> 29 <form action="edit.php?number=<?php echo $number ?>" method="POST"> 30 学号:<input type="text" name="number" value="<?php echo $rs[0][1] ?>"><br> 31 姓名:<input type="text" name="name" value="<?php echo $rs[0][2] ?>"><br> 32 年龄:<input type="text" name="age" value="<?php echo $rs[0][3] ?>"><br> 33 学分:<input type="text" name="total" value="<?php echo $rs[0][4] ?>"><br> 34 <input type="submit" name="sub" value="更新"> 35 </form> 36 37 38 //参考别人后的修改 39 <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 40 <?php 41 require 'conn.php'; 42 43 if(!empty($number=$_GET['number'])){; 44 $query="SELECT * FROM stu WHERE number=$number"; 45 $result=mysql_query($query) or die("SQL error:".mysql_error()); 46 $rs=mysql_fetch_array($result); 47 } 48 49 50 if (!empty($_POST['sub'])) { 51 $num=$_POST['number']; 52 $name=$_POST['name']; 53 $age=$_POST['age']; 54 $total=$_POST['total']; 55 $query="UPDATE stu SET number='$num',name='$name',age='$age',total='$total' WHERE number='$number'"; 56 mysql_query($query)or die("SQL ERROR:".mysql_error()); 57 echo "<script> alert('更新成功!'); location.href='list.php'</script>"; 58 echo "更新成功"; 59 } 60 61 ?> 62 <form action="edit.php?number=<?php echo $number ?>" method="POST"> 63 学号:<input type="text" name="number" value="<?php echo $rs['number'] ?>"><br> 64 姓名:<input type="text" name="name" value="<?php echo $rs['name'] ?>"><br> 65 年龄:<input type="text" name="age" value="<?php echo $rs['age'] ?>"><br> 66 学分:<input type="text" name="total" value="<?php echo $rs['total'] ?>"><br> 67 <input type="submit" name="sub" value="更新"> 68 </form>