標籤:
例子:
$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值"]擷取到存到一個變數中,再串連到資料庫通過結構化查詢語言 (SQL)添加到資料庫中
刪:則是應用到每行資料的主索引值,通過GET方法傳至後台,再串連到資料庫通過結構化查詢語言 (SQL)將資料刪除
改:用到增和刪的結合。後台修改處理應用POST傳達,預設值顯示則是通過主鍵定位。
PHP串連資料庫實現對網頁內容增刪改查