php 用封装类的方法操作数据库和批量删除

Posted 哔哩哔哩干杯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 用封装类的方法操作数据库和批量删除相关的知识,希望对你有一定的参考价值。

封装类

<?php
class DBDA
{
    public $host="localhost";    //服务器地址
    public $uid="root";             //用户名
    public $pwd="123";             //密码
    
    public $dbconnect; //连接对象
    
    //操作数据库的方法
    //$sql代表需要执行的SQL语句
    //$type代表SQL语句的类型,1代表查询,2代表增删改
    //$dbname代表要操作的数据库名称
    //如果是查询,返回二维数组
    //如果是增删改,返回true或false
    function Query($sql,$type=1,$dbname="mydb")
    {
        //造连接对象
        $this->dbconnect = new mysqli($this->host,$this->uid,$this->pwd,$dbname);
        //判断是否出错
        if(!mysqli_connect_error())
        {
            //如果连接成功,执行SQL语句
            $result = $this->dbconnect->query($sql);
            
            //根据语句类型判断
            if($type==1)
            {
                //如果是查询语句,返回二维数组
                return $result->fetch_all();
            }
            else
            {
                //如果是其他语句,返回true或false
                return $result;
            }
        }
        else
        {
            return "连接失败!";
        }
    }
}
View Code

批量删除

<body>
<h1>主页面</h1>
<form action="piliangshanchu.php" method="post">
<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");
//判断是否出错
!mysqli_connect_error() or die("连接失败!");
//写SQL语句
$sql = "select * from Info";
//执行SQL语句
$result = $db->query($sql);

//读取数据
$attr = $result->fetch_all();

//遍历数组,显示
foreach($attr as $v)
{
    
    $sex = $v[2]?"男":"女";
    
    $sql = "select Name from Nation where Code = \'{$v[3]}\'";
    $r = $db->query($sql);
    $a = $r->fetch_row();
    
    echo "
    <tr>
    <td>
    <input class=\'ck\' name=\'ck[]\' type=\'checkbox\' value=\'{$v[0]}\' />
    {$v[0]}</td>
    <td>{$v[1]}</td>
    <td>{$sex}</td>
    <td>{$a[0]}</td>
    <td>{$v[4]}</td>
    <td><a href=\'delete.php?code={$v[0]}\'>删除</a><a href=\'update.php?code={$v[0]}\'>修改</a></td>
</tr>
    ";
}
?>
<tr>
<td><input type="checkbox" onclick="CheckAll(this)" />全选</td>
<td><input type="submit" value="批量删除" /></td>
</tr>
</table>
<a href="add.php">添加数据</a>
</form>
</body>
<script type="text/javascript">
function CheckAll(a)
{
    var ck = document.getElementsByClassName("ck");
    //a.checked;
    //document.getElementById().removeAttribute
    for(var i=0;i<ck.length;i++)
    {
        if(a.checked)
        {
            ck[i].setAttribute("checked","checked");
        }
        else
        {
            ck[i].removeAttribute("checked");
        }
    }
    
}
</script>
</html>
View Code
<?php
$ck = $_POST["ck"];
include("DBDA.class.php");
$db = new DBDA();

foreach($ck as $v)
{
    $sql = "delete from Info where Code=\'{$v}\'";
    $db->Query($sql,0);
}

header("location:main.php");
View Code

 

以上是关于php 用封装类的方法操作数据库和批量删除的主要内容,如果未能解决你的问题,请参考以下文章

php批量删除

PHP 类的封装和使用

PHP 类的封装和使用

PHP类的封装与继承详解

python 类的封装

mysql数据库的 alter可否批量操作? 例如批量修改,批量删除这样?求思路,求解.!php!