例子:
$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傳達,默認值顯示則是通過主鍵定位。
