首頁 > 後端開發 > php教程 > php資料庫的增刪改查

php資料庫的增刪改查

高洛峰
發布: 2023-03-06 08:28:01
原創
5880 人瀏覽過

1.查詢:

資料的顯示,這裡就可以嵌入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>无标题文档</title>
</head>

<body>
<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","12345678","heiheihei");
//连接数据库
$sql = "select * from student ";
//写sql语句
$r = $db->query($sql);
//执行sql语句返回给r
if($r)//条件
{
  while ($attr = $r->fetch_row())
  {
    $ssex = "";
     if($attr[2])
     {
       $ssex = "男";
     }
     else
       {
         $ssex = "女";
       }
    echo
    "
 <tr>
    <td>{$attr[0]}</td>
    <td>{$attr[1]}</td>
    <td>{$ssex}</td>
    <td>{$attr[3]}</td>
    <td>{$attr[4]}</td>
//添加一个单击事件,防止不小心删掉
<td><a onclick=\"return confirm(&#39;确定要删除吗???&#39;)" 
href=&#39;shanchu.php?sno={$attr[0]}&#39;>删除</a>
 <a href=&#39;xiugai.php?sno={$attr[0]}&#39;>修改</a> </td> </tr>"; } } ?>

 
 

</table>
<a href="tianjia.php" rel="external nofollow" >添加页面</a>
</body>

</html>
登入後複製

2.刪除的處理頁面

刪除時是連結到刪除處理頁面的,所以也要寫一個刪除處理頁面:

<?php
$aaa = $_GET ["sno"]; //删除方式使用的get,照旧
$db = new mysqli("localhost","root","12345678","heiheihei");
//连接...
$sql = "delete from student WHERE sno=&#39;{$aaa}&#39;";
//写sql语句,sno主键
if($db->query($sql)) //执行sql语句
{
  header("location:text.php");
//删完回去表页面
}
else{
  echo "删除失败";
}
?>
登入後複製

來張效果圖:

php資料庫的增刪改查

3.新增資料:

點擊php資料庫的增刪改查即可進入新增頁面

新增頁面:

<body>

<h1>添加</h1>
<form action="add.php" method="post" >
  <p>代号:<input type="text" name="sno"/></p>
  <p>名字:<input type="text" name="sname"/></p>
  <p>性别: <input type="radio" value="1" name="sex" />男
    <input type="radio" value="0" name="sex"/>女</p>
  <p>日期:<input type="text" name="sbirthday"/></p>
//创建表时性别是用的1或2来表示的,要是进行修改不知道1或2代表了什么,所以就要进行处理,处理成用户能够明白的男和女

  <p>班级:
  <select name="class">

  <?php
    $db= new MYSQLi("localhost","root","12345678","heiheihei");
//连接...
    $sql = " select * from class ";
//写sql...    

    $r = $db->query($sql);
//执行...返回...
    while($arr = $r->fetch_row())
    {
      echo "<option value=&#39;{$arr[0]}&#39;>{$arr[1]}</option>";
      //添上以后回表页面
    }
    ?>

 
  </select>
  </p>
  <p><input type="submit" value="添加"/></p>
</form>

</body>
登入後複製

新增也需要一個處理頁面來判斷新增:

<?php
$sno = $_POST["sno"];
//$_POST 变量用于收集来自 method="post" 的表单中的值。
$sname = $_POST["sname"];
$ssex = $_POST["ssex"];
$sbirthday = $_POST["sbirthday"];
$class = $_POST["class"];
$db = new mysqli("localhost","root","12345678","heiheihei");
$sql = "insert into student VALUES (&#39;{$sno}&#39;,&#39;{$sname}&#39;,&#39;{$ssex}&#39;,&#39;{$sbirthday}&#39;,&#39;{$class}&#39;)";
//向数据库中添加写的数据
  if($db->query($sql))
{
  header("location:text.php");
  //header() 函数向客户端发送原始的 HTTP 报头。
}
else {
  echo "添加失败";
}


?>
登入後複製

效果圖:

php資料庫的增刪改查

4.修改資料:主鍵無法修改! !

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>无标题文档</title>
</head>

<body>

<h1>修改</h1>

<?php
$sno = $_GET{"sno"};
$db = new mysqli("localhost","root","12345678","heiheihei");
$sql = "select * from student WHERE sno=&#39;{$sno}&#39;";
$r = $db->query($sql);
$arr = $r->fetch_row();
?>

 
<form action="update.php" method="post">
  <p>代号:<input readonly="readonly" type="text" name="sno" value="<?php
echo $arr[0];
?>"/></p>

//readonly只可读
 <p>名称:<input type="text" name="sname" value="<?php echo $arr[1]; ?>"/></p> <p>性别: <input type="radio" name="ssex" value="1" <?php echo $arr[2]?"checked=&#39;checked&#39;":""; ?>/>男 <!-- 三元运算符,如果性别=ture,默认值就在男上面,否则空--> <input type="radio" name="ssex" value="0" <?php echo $arr[2]?"":"checked=&#39;checked&#39;"; ?>/>女 </p> <p>日期:<input type="text" name="sbirthday" value="<?php echo $arr[3]; ?>"/></p> <p>班级:<select name="class">
//value取默认值
 

 <?php
      $sclass = "select * from class";
      $rclass = $db->query($sclass);
      while($attr = $rclass->fetch_row())
      //取到的班级信息
      {
        //判断将要输出的班级是不是和该人员的是否相同
        if($arr[4]==$attr[0])//arr是班级名,attr是班级的代号,俩表
        {
          echo "<option value = &#39;{$attr[0]}&#39; selected=&#39;selected&#39;>{$attr[1]}</option>";

        }
        else{
          echo "<option value = &#39;{$attr[0]}&#39;>{$attr[1]}</option>";
        }

      }
      ?>

 
    </select></p>
  <p><input type="submit" value="修改完毕"/></p>

</form>


</body>
</html>
登入後複製

修改的處理頁面:

<?php
$sno = $_POST["sno"];
$sname = $_POST["sname"];
$ssex = $_POST["ssex"];
$sbirthday = $_POST["sbirthday"];
$class = $_POST["class"];
$db = new mysqli("localhost","root","12345678","heiheihei");
$sql = "update student set sname=&#39;{$sname}&#39;,
ssex=&#39;{$ssex}&#39;,
sbirthday=&#39;{$sbirthday}&#39;,
class=&#39;{$class}&#39; WHERE sno=&#39;{$sno}&#39;";
//看一下是不是传递过来的sno值;
if($db->query($sql))
{
  header("location:text.php");
}
else{
  echo "修改失败";
}
?>
登入後複製

修改的效果圖:

php資料庫的增刪改查

更多php資料庫的增刪改查相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板