• php 租房子(练习题)


    一.题目要求

      1.功能描述

          出租房屋数据管理及搜索页面

      2.具体要求

        (1)  创建数据库HouseDB,创建表House,要求如下:

    二、题目做法

    1.建立数据库

     

    2.封装类文件

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

     3.租房子首页

    <?php
    
    include("DBDA.class.php");
    
    $dx=new DBDA();
    
    $sql="select * from house";
    $r = $dx->Query($sql,1);
    //$attr=$result->fetch_all();
    
    foreach($r as $v)
    {    
    echo 
    "<tr>
    
    <td>{$v[1]}</td>
    <td>{$v[2]}</td>
    <td>{$v[3]}</td>
    <td>{$v[4]}</td>
    <td>{$v[5]}</td>
    <td>{$v[6]}</td>
    <td><a href='bianji.php?id={$v[0]}'>编辑</a></td>
    <td><a href='shanchuchuli.php?id={$v[0]}' onclick="return confirm('确定删除吗')">删除</a></td>
    </tr>";
    }
    
    ?>

    4.删除数据处理页面

    <?php
    $id = $_GET["id"];
    var_dump($newsid);
    
    include("DBDA.class.php");
    
    $dx=new DBDA();
    
    $sql = "delete from House where id='{$id}'";
    $r = $dx->Query($sql,2);
    if($r)
    {
        header("location:liebiaoyemian.php");
    }
    else
    {
        echo "删除失败!";
    }

    5.编辑页面

    <!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>
    <!--newsid--><center>
    <h1>修改房屋数据</h1><?php
    
    $id = $_GET["id"];
    
    include("DBDA.class.php");
    
    $dx=new DBDA();
    
    //echo "id";
    //var_dump($id);
    
    $sql="select * from house where id='{$id}'";
    $r=$dx->Query($sql);
    
    ?><form action="bianjichuli.php" method="post">
    
    <input type="hidden" name="id" value="<?php echo $r[0][0];?>"/><!--id传过的ID-->
    
    <div>关键字:<input type="text" name="KeyWord" value="<?php echo $r[0][1];?>"/></div>
    <div>区域:<input type="text" name="Area" value="<?php echo $r[0][2];?>"/></div>
    <div>使用面积:<input type="text" name="SquareMeter" value="<?php echo $r[0][3];?>"/></div>
    <div>租金:<input type="text" name="Rent" value="<?php echo $r[0][4];?>"/></div>
    <div>租贷类型:<input type="text" name="RentType" value="<?php echo $r[0][5];?>"/></div>
    <div>房屋类型:<input type="text" name="HouseType" value="<?php echo $r[0][6];?>"/></div>
    
    
    <div><input type="submit" value="更新"/></div>
    
    
    </form>
    <!--<a href="chakan.php"><input type="button" value="查看"></a>-->
    </center>
    </body>
    </html>

    6.编辑处理页面

    <?php
     
    //使用加载类
        
        include("DBDA.class.php");
        $db = new DBDA();
        $id=$_POST["id"];//传ID
        $KeyWord = $_POST["KeyWord"];
        $Area = $_POST["Area"];
        $SquareMeter = $_POST["SquareMeter"];
        $Rent = $_POST["Rent"];
        $RentType = $_POST["RentType"];
        $HouseType = $_POST["HouseType"];
    $sql="update house set KeyWord='{$KeyWord}',Area='{$Area}',SquareMeter='{$SquareMeter}',Rent='{$Rent}',RentType='{$RentType}',HouseType='{$HouseType}' where id='{$id}'";// where id='{$id}
    
    //echo $sql;
         
        $attr = $db->Query($sql,2);
        //var_dump($attr);
        if($attr)
        {
            header("location:liebiaoyemian.php");   
        }
        else
        {
            echo "修改失败";   
        }

    7.添加数据页面

    <!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>
    <style>
        .kong
        {
            margin:10px 0px 10px 0px;
            vertical-align: 
        }
    </style>
    <body>
    <form action="tianjiachili.php" method="post">
        
     <h3>添加房屋信息页面</h3>   
    
        <div class="kong">
            关键字:
            <input type="text" name="KeyWord"/>
        </div>
        <div class="kong">
            区域:
            <input type="text" name="Area"/>
        </div>
        <div class="kong">
            使用面积:
            <input type="text" name="SquareMeter"/>
        </div>
        <div class="kong">
            租金:
            <input type="text" name="Rent">
        </div>
        <div class="kong">
            租赁类型:
            <input type="text" name="RentType"/>
        </div>
        <div class="kong">
            房屋类型
            <input type="text" name="HouseType"/>
        </div>
    <div>
        <input type="submit" value="确定"/><!--插入信息-->
        <a href="liebiaoyemian.php"><input type="button" value="返回主页" /></a>
    </div>
    </form>    
    
    </body>
    </html>

    8.添加数据处理页面

    <?php 
    //$id = $_POST["id"];
    $KeyWord = $_POST["KeyWord"];
    $Area = $_POST["Area"];
    $SquareMeter = $_POST["SquareMeter"];
    $Rent = $_POST["Rent"];
    $RentType = $_POST["RentType"];
    $HouseType = $_POST["HouseType"];
    
    //造连接对象
    include("DBDA.class.php");
    $db=new DBDA();
    
    //写sql语句
    $sql="insert into house values('','{$KeyWord}','{$Area}','{$SquareMeter}','{$Rent}','{$RentType}','{$HouseType}')";
    //执行语句
    $r=$db->Query($sql,2);//($sql,2)   2代表增删改    错在了2上
    
    if($r) 
    {
        header("location:liebiaoyemian.php");
    }
    else{
        echo "执行失败!";
    }
     ?>

    9.搜索页面(多条件查询)

    <!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>
    
    <body>
    <form action="duotiaojianchaxun.php" method="post">
    <div>区域:<input type="checkbox" onclick="CheckAll(this,'qy')" />全选</div>
    <div>
    
    <?php
    include("DBDA.class.php");
    $db = new DBDA();
     
    $sqlqy = "select distinct Area from house";
    $attrqy = $db->Query($sqlqy);
    //var_dump($attrqy);
     
    foreach($attrqy as $v)
    {
        echo "<input class='qy' type='checkbox' value='{$v[0]}' name='qy[]'/>{$v[0]} ";     
    }
    ?>
    
     
    
    </div><br />
     
    <div>租赁类型:<input type="checkbox" onclick="CheckAll(this,'zl')"  />全选</div>
    <div>
    <?php
     
    $sqlzl = "select distinct RentType from House";
    $attrzl = $db->Query($sqlzl);
     
    foreach($attrzl as $v)
    {
        echo "<input class='zl' type='checkbox' value='{$v[0]}' name='zl[]'/>{$v[0]} ";     
    }
    ?>
    
     
    
    </div><br />
     
    <div>房屋类型:<input type="checkbox" onclick="CheckAll(this,'fw')"  />全选</div>
    <div>
    
    <?php
     
    $sqlfw = "select distinct HouseType from House";
    $attrfw = $db->Query($sqlfw);
    //var_dump($attrqy);
     
    foreach($attrfw as $v)
    {
        echo "<input class='fw' type='checkbox' value='{$v[0]}' name='fw[]'/>{$v[0]} ";     
    }
    ?>
    </div><br />
     
    <div>关键字:<input type="text" name="keyword" id="key" />
    </form>
    <br />
    <input type="submit" value="搜索" />
     
    <br />
    <br />
    <br />
     
    <table cellpadding="1" cellspacing="1" border="1" width="100%">
        <tr>
            <td>关键字</td>
            <td>区域</td>
            <td>面积</td>
            <td>租金</td>
            <td>租赁类型</td>
            <td>房屋类型</td>
        </tr>
    
    
     
    <?php
     
    $tj = "";
    $tj1 = "1=1";
    $tj2 = "1=1";
    $tj3 = "1=1";
    $tj4 = "1=1";
     
    if(!empty($_POST["qy"]))
    {
        $attr = $_POST["qy"];
        $str = implode("','",$attr);
        $tj1 = " Area in ('{$str}')";  
    }
     
    if(!empty($_POST["zl"]))
    {
        $attr = $_POST["zl"];
        $str = implode("','",$attr);
        $tj2 = " RentType in ('{$str}')";  
    }
     
    if(!empty($_POST["fw"]))
    {
        $attr = $_POST["fw"];
        $str = implode("','",$attr);
        $tj3 = " HouseType in ('{$str}')"; 
    }
     
    if(!empty($_POST["keyword"]))
    {
        $attr = $_POST["keyword"];
        $tj3 = " keyword like '%{$attr}%'";
    }
     
    $tj = " Where {$tj1} and {$tj2} and {$tj3} and {$tj4}";//Where  前加空格
     
    $sql = "select * from House".$tj;
    $attrall = $db->Query($sql);
    //var_dump($attrall);
     
    foreach($attrall as $v)
    {
        echo "<tr>
                <td>{$v[1]}</td>
                <td>{$v[2]}</td>
                <td>{$v[3]}</td>
                <td>{$v[4]}</td>
                <td>{$v[5]}</td>
                <td>{$v[6]}</td>
            </tr>";  
    }
     
    ?>
     
    
    
    
    
    
     
    </table>
     
    </body>
    <script type="text/javascript">
    function CheckAll(a,b)//this表示该
    {
        var qx = a.checked;
        var ck = document.getElementsByClassName(b);
        for(var i =0;i<ck.length;i++)
        {
            ck[i].checked = qx;
        }
    }
     
    </script>
     
    </html>
    </body>
    </html>
     

  • 相关阅读:
    每周一荐:代码编辑器sublime
    每周一荐:Google的序列化框架Protobuf
    每周一荐:ObjectiveC的开源开发环境GNUstep
    每周一荐:用gnuplot绘制函数曲线
    每周一荐:学习ACE一定要看的书
    临时变量管理器
    每周一荐:TotalCommand的文件夹同步功能
    每周一荐:支持latex的思维导图软件docear
    关于程序员面试的一点想法
    每周一荐:Python Web开发框架Django
  • 原文地址:https://www.cnblogs.com/axj1993/p/6444773.html
Copyright © 2020-2023  润新知