php數據訪問之查詢 、刪除 ,增添

1.查詢php

把昨天的做業(查詢一張數據表,以表格的形式顯示)做爲一個例子sql

思路就是鏈接數據庫,而後讀取SQL語句而且根據條件遍歷輸出數據庫

<body>數組


<table border="1px" cellpadding="0px" cellspacing="0px" width="100%">    //外層表結構post

<tr align="center">                                                            //本身寫好表頭(字段名)
<td>學號</td>
<td>姓名</td>
<td>性別</td>
<td>出生日期</td>
</tr>fetch

<?php
$db = new MySQLi("localhost","root","","test");          // 鏈接數據庫
$db->query("set names UTF8");           //設置字符編碼編碼

$sql = "select * from teacher";            //讀取SQL語句
$result = $db->query($sql);
while($arr = $result->fetch_row())          //循環,抓取每行的數據,直到沒有數據
{
echo "<tr align='center'> <td>{$arr[0]}</td>          //輸出數據表中的每一個字段內容
<td>{$arr[1]}</td>
<td>{$arr[2]}</td>
<td>{$arr[3]}</td></tr>";
}
?>
</table>spa

</body>3d

 

 2.數據刪除操做code

<body>
<h1>學生表查詢</h1>
<table cellpadding="0px" cellspacing="0px" border="1px" align="center" width="100%">
<tr>
<td>學號</td>
<td>姓名</td>
<td>性別</td>
<td>生日</td>
<td>班級</td>
<td>操做</td>

 

</tr>
<?php
$db=new MySQLi("localhost","root","","test");                           
$sql="select * from student";
$result=$db->query($sql);
$attr=$result->fetch_all();
foreach($attr as $v)
{ echo "<tr>
<td>{$v[0]}</td>
<td>{$v[1]}</td>
<td>{$v[2]}</td>
<td>{$v[3]}</td>
<td>{$v[4]}</td>                                                                                                               //和查詢同樣,這裏多出來一個定義字段,做爲刪除功能鍵,定義爲<a>超連接標籤

<td><a href='dele.php?Sno={$v[0]}' onclick=\"return confirm('你肯定刪除嗎')\">刪除</a></td> //同時給刪除鍵一個點擊事件,這樣會先執行點擊事件,後完成提交跳轉,添加了一個確認事件,爲了防止不通過用戶確認而形成的誤刪現象。

</tr>";}                                             //在提交刪除操做時,同時提交了一個類get操做(地址欄顯示)的數據主鍵值,使得提交時能辨識出須要刪除的具體是哪一個數據

 ?>

</table><br />

</body>

效果以下圖

當點擊刪除時

 

 

接下來就是寫後臺刪除的PHP頁面

<?php
$r1=$_GET["Sno"];                                         //經過get方式獲取到了刪除頁面傳來的主鍵對應的值
$db=new MySQLi("localhost","root","","test");     //連接數據庫
$sql="delete from student where Sno={$r1}";    //讀取sql語句
if($db->query($sql)){                                      
header("location:check.php");                            //刪除成功後跳轉至原來的界面,1. header方法,此方法問題會出如今,若是不是跳轉同級文件下的時候出錯
echo "<script>window.location.href='check.php';</script>" //2.JS跳轉方式

echo"<script>window.open('check.php','_self',)</script>"   //3.JS跳轉方式    3種方式都能成功跳轉。
}

 ?>

3.添加數據(和前面的註冊基本一致的作法)

第一步:增長一個添加的提交或超連接按鈕

<a href="add.php"><input  type="submit" name="add" value="添加學生"/></a>

第二步:寫add添加的頁面

<body>
<h1 align="center">學生信息添加</h1>
<div style=" background-color:#0CC" align="center">
<form action="tianjia.php" method="post">
<div>學號:<input type="text" name="Sno" /></div><br />

<div>姓名:<input type="text" name="Sname" /></div><br />

<div>男<input type="radio" name="Ssex" /> 女<input type="radio" name="Ssex"</div><br />

<div>生日:<input type="date" name="birthday"/></div><br />

<div>班級<input type="text" name="class" /></div><br />

<input type="submit" value="提交"/>

 

</form>
<div>
</body>

第三步:寫出處理添加數據操做的php頁面

 

<?php
$id=$_POST["Sno"];
$name=$_POST["Sname"];
$sex=$_POST["Ssex"];
$birthday=$_POST["birthday"];
$class=$_POST["class"];
$db=new MySQLi("localhost","root","","test");
$sql="insert into student values('{$id}','{$name}','{$sex}','{$birthday}','{$class}')";
if($db->query($sql)){
echo "學生{$name}信息添加成功";
//header("location:check.php");
echo"<script> window.open('check.php','_self','')</script>";
}
else{
echo "學生信息添加失敗".$db_error;
}

 

?>

4.修改數據表

若是數據表中顯示的內容和咱們想要顯示的結果不一樣,好比性別在數據表中儲存的是0和1,可是咱們想要顯示的是男和女

還有就是連有外鍵的數據表,顯示的內容中只是一個外鍵的字段名,咱們就要進行修改

例以下面

<body><h1>顯示info信息</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"); $sql = "select * from info"; $result = $db->query($sql); $arr = $result->fetch_all(); foreach($arr as $v) { //修改性別 $sex = $v[2]?"男":"女"; //修改民族 $sql1 = "select name from nation where code='{$v[3]}'";     //讀取關聯表的數據  $r1 = $db->query($sql1);                                                  //存入變量集中 $a1 = $r1->fetch_row();                  //用數組儲存抓取的數據 echo "<tr> <td>{$v[0]}</td> <td>{$v[1]}</td> <td>{$sex}</td>       //將修改後的直接存在變量裏輸出顯示 <td>{$a1[0]}</td>   //直接替換成關聯表中的數據 <td>{$v[4]}</td> <td><a href='del.php?code={$v[0]}' onclick=\"return confirm('確認刪除麼?')\">刪除</a></td> </tr>"; } ?> </table></body>

相關文章
相關標籤/搜索