数据访问......增删改查

以Info表为例:

一、先建立主页面(main.php)

<!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>Info表主页面</title>
</head>

<body>
<h1>主页面</h1>
<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");
!mysqli_connect_error() or die("连接失败!");
$sql = "select * from Info";
$r= $db->query($sql);
if($r)
{
    $attr=$r->fetch_all();
    
    foreach($attr as $v)
    {
        //处理性别
        $sex=$v[2]?"男":"女";
        //处理民族名称
        $sqln="select Name from Nation where Code='{$v[3]}'";
        $rnation = $db->query($sqln);
        $attrn = $rnation->fetch_assoc();
        echo "<tr>
                <td>{$v[0]}</td>
                <td>{$v[1]}</td>
                <td>{$sex}</td>
                <td>{$attrn['Name']}</td>
                <td>{$v[4]}</td>
                <td>
                    <a href='Delete.php?Code={$v[0]}'>删除</a>     
                    <a href='Update.php?Code={$v[0]}'>修改</a>
                </td>
             </tr>";                                                  //超链接跳转到相应页面并用GET传值方式将Code值传过去
    }
}
?></table>
<div>
<
a href="Add.php">添加数据</a>
</
div>
</body>
</html> 

二、添加数据

1. 建立添加数据页面(Add.php)

<title>添加数据</title>
</head>
<style type="text/css">
.form{ width:100%; height:30px; line-height:30px;}
</style>
<body>
<h1>添加数据</h1>
<form action="AddChuLi.php" method="post">      <!--提交到添加处理页面-->
    <div class="form">代号: <input type="text" name="code" /></div>
    <div class="form">姓名: <input type="text" name="name" /></div>
    <div class="form">性别:    <!--性别为单选按钮 -->
         <input type="radio" value="男" name="sex" /><!--name设为相同,谁选中就提交谁 -->
         <input type="radio" value="女" name="sex" /></div>
    <div class="form">民族:    <!--民族为下拉列表 -->
            <select name="nation">
<?php //下拉列表每一项是从数据库中查出来的,所以需要嵌入php代码访问数据库 $db=new MySQLi("localhost","root","123","mydb"); $sql="select * from Nation"; $r=$db->query($sql); $attr=$r->fetch_all(); foreach($attr as $v) { echo "<option value='{$v[0]}'>{$v[1]}</option>"; } ?>
            </select>
    </div>
    <div class="form">生日: <input type="text" name="birthday" /></div><br />

    <div class="form"> <input type="submit" value="添加数据" /></div>
</form>
<div class="form"><a href="main.php">主页面</a></div>

</body>
</html>

 

2. 建立处理添加数据页面(AddChuLi.php)

   因为不用显示,所以为纯php页面

<?php
$code = $_POST["code"];    //用变量接收提交过来的值
$name = $_POST["name"];
$sex = $_POST["sex"];
$s = 1;                    //判断性别,性别是布尔型,1代表true,0代表false
if($sex=="女")
{
    $s= 0;    
}
$nation = $_POST["nation"];
$birthday = $_POST["birthday"];
//将接收的数据添加到数据库
$db = new MySQLi("localhost","root","123","mydb");
!mysqli_connect_error() or die("连接失败!");
$sql = "insert into Info values('{$code}','{$name}',{$s},'{$nation}','{$birthday}')";   //性别不能用引号,加引号是字符串,会当做true处理
$result =$db->query($sql);    //返回true or false
if($result)   //true     
{
    header("location:Add.php");    //如果添加成功就跳转到Add.php,跳转用header("location:跳转到的页面");
}
else          //false
{
    echo "添加失败!";    
}

三、删除数据

建立删除数据页面(Delete.php)

因为不用显示,所以为纯php页面

在主页面点击删除通过超链接连接到删除数据页面并用GET方法将主键值Code传过去,然后根据主键值确定需要删除的数据

<?php
$code=$_GET["Code"];    //用变量接收主键值
$db=new MySQLi("localhost","root","123","mydb");
!mysqli_connect_error() or die("连接失败!");
$sql= "delete from Info where Code='{$code}'";      //通过主键Code删除相应数据
$r = $db->query($sql);
if($r)
{
    header("location:main.php");    
}
else
{
    echo "删除失败!";    
}

四、修改数据

1. 建立修改数据页面(Update.php)

修改数据页面比较复杂,因为需要根据传过来的Code加载默认值

在主页面点击修改通过超链接连接到修改数据页面并用GET方法将主键值Code传过去,然后根据主键值确定需要修改的数据,修改数据页面与添加数据页面样式布局一样,并且将需要修改的数据信息显示在页面上

<title>修改数据</title>
</head>
<style type="text/css">
.form{ width:100%; height:30px; line-height:30px;}
</style>
<body>
<h1>修改数据</h1>
<?php
$code=$_GET["Code"];         //得到GET方式传来过的code值
$db=new MySQLi("localhost","root","123","mydb");    //通过数据库查询code值所有的信息
!mysqli_connect_error() or die("连接失败!");
$sinfo="select * from Info where Code='{$code}'";     //根据主键值只能查询一条信息,取值可用fetch_row()
$r=$db->query($sinfo);
$arr=$r->fetch_row();    //返回一维索引数组
?>
<!--一个页面可以嵌入多处php代码,不管HTML代码,只看php代码,相当于连接起来的,所以上面定义的变量下面可以找到-->
<form action="UpdateChuLi.php" method="POST">
    <div><input type="hidden" name="code" value="<?php echo $arr[0] ?>" /></div>    <!--主键值不能修改,但是必须要有才能提交,所以设置隐藏,
也可以设置只读
--> <div class="form">姓名: <input type="text" name="name" value="<?php echo $arr[1] ?>" /></div> <!--通过设定value值来显示要修改的数据信息 --> <div class="form">性别: <input type="radio" value="男" name="sex" <?php echo $arr[2]?"checked='checked'":"" ?> />男 <!--若$arr[2]为tru则默认选中男 --> <input type="radio" value="女" name="sex" <?php echo $arr[2]?"":"checked='checked'" ?>/>女 <!--若$arr[2]为false则默认选中女 --> </div> <div class="form">民族: <select name="nation">
          <?php            
            $sql="select * from Nation";
            $r=$db->query($sql);
            $attr=$r->fetch_all();
            foreach($attr as $v)
            {
                if($v[0]==$arr[3])     //若民族代号等于这个人的民族代号则输出默认选中
                {
                    echo "<option selected='selected' value='{$v[0]}'>{$v[1]}</option>";    
                }
                else                  //否则输出普通的
                {
                    echo "<option  value='{$v[0]}'>{$v[1]}</option>";
                }
            }
          ?>
            </select>
    </div>
    <div class="form">生日 :<input type="text" name="birthday" value=" <?php echo $arr[4] ?> "/></div><br />

    <div class="form"> <input type="submit" value="修改数据" /></div>
</form>
<div><a href="main.php">主页面</a></div>


</body>
</html>

 

2. 建立修改数据处理页面(UpdateChuLi.php)

因为不用显示,所以为纯php页面

<?php
$code = $_POST["code"];
$name = $_POST["name"];
$sex = $_POST["sex"];
$s = 1;
if($sex=="女")
{
    $s= 0;    
}
$nation = $_POST["nation"];
$birthday = $_POST["birthday"];

$db=new MySQLi("localhost","root","123","mydb");
!mysqli_connect_error() or die("连接失败!");
$sql="update Info set Name='{$name}',Sex={$s},Nation='{$nation}',Birthday='{$birthday}' where Code='{$code}'";  //SQL语句要写好
$r=$db->query($sql);
if($r)
{
    header("location:main.php");    
}
else
{
    echo "修改失败!";    
}

 

posted @ 2016-05-07 14:16  魅影星魂  阅读(217)  评论(0编辑  收藏  举报