例子:
$db = new MySQLi("localhost","root","","mydb"); !mysqli_connect_error() or die ("连接失败!"); $sql="select * from Info,Nation where Info.Nation=Nation.Code"; $result = $db->query($sql); if($result) { $attr = $result->fetch_all(); //var_dump($attr); echo "<table border=‘1‘ cellpadding=‘0‘ cellspacing=‘0‘ align=‘center‘ width=‘100%‘>"; echo "<tr> <td>代号</td> <td>姓名</td> <td>性别</td> <td>国籍</td> <td>出生年月</td> <td>操作</td> </tr>"; 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>"; } echo "</table>"; } ?> <a href="Add.php">添加数据</a>
此页面是主页面,通过底部的添加数据超链接进入添加数据页面,下面是添加页面的代码:
<body> <h1>添加数据</h1> <form action="AddChuLi.php" method="post"> <div>代号:<input type="text" name="code"/></div> <div>姓名:<input type="text" name="name"/></div> <div>性别:<input type="radio" value="男" name="sex"/>男 <input type="radio" value="女" name="sex"/>女 </div> <div>国籍:<select name="nation"> <?php $db =new MySQLi("localhost","root","","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>生日:<input type="text" name="birthday"/></div> <div><input type="submit" value="添加" /></div> </form> <div><a href="test.5.3.php">返回主页</a></div>
在此页面输入添加的数据,然后通过表单中的方法连接到后台添加处理页面,通过对数据库的操作使数据添加成功,代码如下:
<?php $code=$_POST["code"]; $name=$_POST["name"]; $sex=$_POST["sex"]; $nation=$_POST["nation"]; $birthday=$_POST["birthday"]; $s =1; if($sex =="女") { $s=0; } $db= new MySQLi("localhost","root","","mydb"); $sql="insert into Info values(‘{$code}‘,‘{$name}‘,{$s},‘{$nation}‘,‘{$birthday}‘)"; $result = $db->query($sql); if($result) { header("location:Add.php"); } else { echo "添加失败"; } ?>
以上是添加功能,接下来是删除后台处理页面代码:
<?php $code=$_GET["code"]; $db =new MySQLi("localhost","root","","mydb"); $sql="delete from Info where code=‘{$code}‘"; $r= $db->query($sql); if($r) { header("location:test.5.3.php"); } else { echo "删除失败"; } ?>
最后是修改功能,这个功能比之前两个稍微复杂点,因为涉及到有默认值,代码如下:
<body> <h1>修改数据</h1> <?php $code= $_GET["code"]; $db =new MySQLi("localhost","root","","mydb"); $sql1="select * from Info where Code=‘{$code}‘"; $r=$db->query($sql1); $arr=$r->fetch_row(); ?> <form action="UpdateChuLi.php" method="post"> <div><input type="hidden" name="code" value="<?php echo $arr[0] ?>"/></div> <div>姓名:<input type="text" name="name" value="<?php echo $arr[1] ?>"/></div> <div>性别:<input type="radio" value="男" name="sex" <?php echo $arr[2]?"checked=‘checked‘":"" ?>/>男 <input type="radio" value="女" name="sex" <?php echo $arr[2]?"":"checked=‘checked‘" ?>/>女 </div> <div>国籍:<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>生日:<input type="text" name="birthday" value="<?php echo $arr[4] ?>"/></div> <div><input type="submit" value="修改" /></div> </form> <a href="test.5.3.php">返回主页面</a> </body>
<?php $code=$_POST["code"]; $name=$_POST["name"]; $sex=$_POST["sex"]; $nation=$_POST["nation"]; $birthday=$_POST["birthday"]; $s =1; if($sex =="女") { $s=0; } $db =new MySQLi("localhost","root","","mydb"); $sql ="Update Info set Name=‘{$name}‘,Sex={$s},Nation=‘{$nation}‘,Birthday=‘{$birthday}‘ where Code=‘{$code}‘"; $r=$db->query($sql); if($r) { header("location:test.5.3.php"); } else { echo "修改失败"; }
这个例子主要是增删改查的直面应用,其中查数据显示出来在之前已经学习,只不过在查的基础上进行增删改。
增:用到用户在添加数据页面键入的值,通过表单中定义好的name用POST方法传达,之后在后台通过$_POST["value值"]获取到存到一个变量中,再连接到数据库通过结构化查询语言添加到数据库中
删:则是应用到每行数据的主键值,通过GET方法传至后台,再连接到数据库通过结构化查询语言将数据删除
改:用到增和删的结合。后台修改处理应用POST传达,默认值显示则是通过主键定位。
PHP连接数据库实现对网页内容增删改查
时间: 2024-11-04 23:25:35