php mysql增删改查

虽然坎坷,但是写完了。。。
database.php:

<?php
    $servername="***";
    $username="***";
    $password="***";
    $dbname="***";

    $conn=mysqli_connect($servername, $username, $password, $dbname);
    if(mysqli_connect_errno()){
        echo "连接失败";
    }
?>
<?php
    require_once 'database.php'
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <?php
    $error_str=$firstname=$lastname=$email='';$id="";
    if($_SERVER["REQUEST_METHOD"] == "POST"){
        if($_POST['button2'] == '删除'){
            mysqli_query($conn, "DELETE FROM myGuests WHERE id=".$_POST['button1']);
        }else if($_POST['button2'] == '编辑'){
            $id=$_POST['button1'];
            $sql="SELECT * FROM myGuests WHERE id=".$id;
            $result = mysqli_query($conn, $sql);
            $row=mysqli_fetch_array($result);
            $firstname=$row['firstname'];
            $lastname=$row['lastname'];
            $email=$row['email'];
        }else{
            if(empty($_POST['firstname'])){
                $error_str='请完善表单';
                // die();
            }else{
                $firstname=$_POST['firstname'];
            }
            if(empty($_POST['lastname'])){
                $error_str='请完善表单';
                // die();
            }else{
                $lastname=$_POST['lastname'];
            }
            if(empty($_POST['email'])){
                $error_str='请完善表单';
                // die();
            }else{
                $email=$_POST['email'];
            }
            if(empty($error_str)){
                if($_POST['id']){
                    $sql = "UPDATE myGuests SET firstname='$firstname', lastname='$lastname', email='$email' WHERE id=".$_POST['id'];
                    mysqli_query($conn, $sql);
                }else{
                    $sql = "INSERT INTO myGuests(firstname, lastname, email) VALUES('$firstname', '$lastname', '$email')";
                    mysqli_query($conn, $sql);
                }
            }
        }
        
        
    }
    
    ?>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
姓氏: <input type="text" name="firstname" value="<?php echo $firstname;?>">
名字: <input type="text" name="lastname" value="<?php echo $lastname;?>">
邮箱: <input type="text" name="email" value="<?php echo $email;?>">
<input type="hidden" name="id" value="<?php echo $id ?>">
<input type="submit" name="button2" value="确认">
</form>
<?php echo $error_str ?>
    <form action="" method="get">
        <input placeholder="搜索姓氏或名字" type="text" name="keyword" value="<?php $keyword ?>" />
        <input type="submit" value="搜索">
    </form>
    <table class="list" >
        <tr>
            <td>id</td>
            <td>名字</td>
            <td>姓氏</td>
            <td>邮箱</td>
            <td>操作</td>
        </tr>
    <?php
        $keyword='';
        $sql="SELECT * FROM myGuests";
        if($_SERVER["REQUEST_METHOD"] == "GET"){
            $keyword=$_GET['keyword'];
            if(!empty($_GET['keyword'])){
                $sql=$sql." WHERE firstname='".$keyword."' or lastname='".$keyword."'";
                
            }else{
                $sql = $sql;
            }
        }
        $result = mysqli_query($conn, $sql);
        renderList($result);
        
        function renderList($result){
            if (mysqli_num_rows($result) > 0) {
                // 输出数据
                while($row = mysqli_fetch_assoc($result)) {
                    ?>
                    <tr>
                        <td><?php echo $row['id'] ?></td>
                        <td><?php echo $row['firstname'] ?></td>
                        <td><?php echo $row['lastname'] ?></td>
                        <td><?php echo $row['email'] ?></td>
                        <td style="display: flex;">
                        <form action="" method="post">
                            <input type="hidden" name="button1"
                                    class="button" value="<?php echo $row['id'] ?>" />
                            
                            <input type="submit" name="button2"
                                    class="button" value="删除" />
                        </form>
                        <form action="" method="post">
                            <input type="hidden" name="button1"
                                    class="button" value="<?php echo $row['id'] ?>" />
                            
                            <input type="submit" name="button2"
                                    class="button" value="编辑" />
                        </form>
                        </td>
                    </tr>
                    <?php
                }
            }
        }
        
        
    ?>
    </table>
</body>
</html>

class实现:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <?php 
        $id=$error_str=$firstname=$lastname=$email=$keyword="";
        $table_data=[];

        // 实例化
        $myGuest=new Guests();
        if($_SERVER["REQUEST_METHOD"] == "POST"){
            if($_POST["button2"]=='确认'){
                if(empty($_POST['firstname']) || empty($_POST['lastname']) || empty($_POST['email'])){
                    $error_str="请完善表单";
                }
                if(!$error_str){
                    $firstname = $_POST["firstname"];
                    $lastname = $_POST["lastname"];
                    $email = $_POST["email"];
                    $id=$_POST["id"];
                    if($id){
                        $myGuest->update($id, $firstname, $lastname, $email);
                    }else{
                        $myGuest->add($firstname, $lastname, $email);
                    }
                    
                }
            }else if($_POST["button2"]=='删除'){
                if(isset($_POST["button1"])){
                    $myGuest->del($_POST["button1"]);
                }
            }else if($_POST["button2"]=='编辑'){
                $id=$_POST["button1"];
                if(isset($id)){
                    $row=$myGuest->getData('', $id)[0];
                    $firstname=$row['firstname'];
                    $lastname=$row['lastname'];
                    $email=$row['email'];
                }
            }
        }
        
        if($_SERVER["REQUEST_METHOD"] == "GET"){
            $keyword=$_GET["keyword"] ?? '';
        }
        $table_data=$myGuest->getData($keyword ?? '');
    ?>
    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
        姓氏: <input type="text" name="firstname" value="<?php echo $firstname;?>">
        名字: <input type="text" name="lastname" value="<?php echo $lastname;?>">
        邮箱: <input type="text" name="email" value="<?php echo $email;?>">
        <input type="hidden" name="id" value="<?php echo $id ?>">
        <input type="submit" name="button2" value="确认">
    </form>
    <p><?php echo $error_str ?></p>
    <form action="" method="get">
        <input type="text" name="keyword" value="<?php echo $keyword ?>" >
        <input type="submit" name="button" value="查询">
    </form>
    <table>
        <tr>
            <td>ID</td>
            <td>姓氏</td>
            <td>名字</td>
            <td>邮箱</td>
            <td>添加时间</td>
        </tr>
        <?php 
        for($i=0; $i<count($table_data); $i++){
            ?>
            <tr>
                <td><?php echo $table_data[$i]['id'] ?></td>
                <td><?php echo $table_data[$i]['firstname'] ?></td>
                <td><?php echo $table_data[$i]['lastname'] ?></td>
                <td><?php echo $table_data[$i]['email'] ?></td>
                <td><?php echo $table_data[$i]['reg_date'] ?></td>
                <td style="display: flex">
                    <form action="" method="post">
                        <input type="hidden" name="button1"
                                class="button" value="<?php echo $table_data[$i]['id'] ?>" />
                        
                        <input type="submit" name="button2"
                                class="button" value="删除" />
                    </form>
                    <form action="" method="post">
                        <input type="hidden" name="button1"
                                class="button" value="<?php echo $table_data[$i]['id'] ?>" />
                        
                        <input type="submit" name="button2"
                                class="button" value="编辑" />
                    </form>
                </td>
            </tr>
            <?php
        } ?>
    </table>
    <?php
        // class四个方法
        // 表单按钮提交判断
        class Guests {
            private $conn;
            private $servername="***";
            private $username="***";
            private $password="***";
            private $db="***";
            public $datalist=[];
            // 连接数据库
            function __construct()
            {
                $this->conn=mysqli_connect($this->servername, $this->username, $this->password, $this->db);
                if(mysqli_connect_errno($this->conn)){
                    throw new Exception("连接错误:".mysqli_connect_errno());
                }
                mysqli_set_charset($this->conn, 'utf8');
            }
            private function query($sql){
                if(empty($sql)) throw new Exception('暂无执行的SQL');
                try{
                    return mysqli_query($this->conn, $sql);
                }catch(Exception $e){
                    throw new Exception('query Error:'.$e->getMessage());
                }
            }
            // 新增
            public function add($firstname, $username, $email){
                $sql="INSERT INTO myGuests(firstname, lastname, email) VALUES('$firstname', '$username', '$email')";
                $this->query($sql);
            }
            // 删除
            public function del($id){
                $sql="DELETE FROM myGuests WHERE id=".$id;
                $this->query($sql);
            }
            // 编辑
            public function update($id, $firstname, $lastname, $email){
                $sql="UPDATE myGuests SET firstname='$firstname', lastname='$lastname', email='$email' WHERE id=".$id;
                $this->query($sql);
            }
            // 查询
            public function getData($keyword="", $id=""){
                $sql="SELECT * FROM myGuests";
                if($id){
                    $sql.=" WHERE id=".$id;
                    return mysqli_fetch_all(mysqli_query($this->conn, $sql), MYSQLI_ASSOC);
                }
                if($keyword){
                    $sql.=" WHERE firstname='$keyword' or lastname='$keyword'";
                }
                return mysqli_fetch_all($this->query($sql), MYSQLI_ASSOC);
            }
            
            function __destruct()
            {
                mysqli_close($this->conn);
            }
        }

        
        
        
    ?>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值