PHP-----练习-------租房子-----增删改查,多条件查询
Posted 玉育
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP-----练习-------租房子-----增删改查,多条件查询相关的知识,希望对你有一定的参考价值。
练习-------租房子-----增删改查,多条件
一 、题目要求:
二 、做法:
【1】建立数据库
【2】封装类文件------DBDA.class.php
1 <?php 2 class DBDA 3 { 4 public $fuwuqi="localhost"; //服务器地址 5 public $yonghuming="root";//用户名 6 public $mima="";//密码 7 8 public $dbconnect;//连接对象 9 10 //操作数据库的方法 11 12 //$sql代表需要执行的SQL语句 13 //$type代表SQL语句的类型,1代表查询,2代表增删改 14 //$shujukuming代表数据库的名称 15 //如果是查询,返回二维数组 16 //如果是增删改,返回true或false 17 18 function Query($sql,$type=1,$shujukuming="house") 19 { 20 //造连接对象 21 $this->dbconnect = new mysqli($this->fuwuqi,$this->yonghuming,$this->mima,$shujukuming); 22 23 //判断是否出错 24 if(!mysqli_connect_error()) 25 { 26 //如果连接成功,执行SQL语句 27 $result = $this->dbconnect->query($sql); 28 29 //根据语句类型判断 30 if($type==1) 31 { 32 //如果是查询语句,返回二维数组 33 return $result->fetch_all(); 34 } 35 else 36 { 37 //如果是其他语句,返回true或false 38 return $result; 39 } 40 41 } 42 else 43 { 44 return"连接失败"; 45 46 } 47 48 49 } 50 51 } 52 53 54 55 56 ?>
【3】租房子首页-----liebiaoyemian.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="1000px" cellpadding="1" border="1" ellspacing="1"> <tr> <td>关键字</td> <td>区域</td> <td>使用面积</td> <td>租金</td> <td>租贷类型</td> <td>房屋类型</td> <td></td> <td></td> </tr> <?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>"; } ?> </table> <br /> <br /> <a href="tianjiashuju.php"><input type="button" value="添加数据"/></a> <a href="duotiaojianchaxun.php"><input type="button" value="搜索查询" /></a> </title> </body> </html><!--id={$v[0]} 主键-->
【4】删除数据-----shanchuchuli.php
1 <?php 2 $id = $_GET["id"]; 3 var_dump($newsid); 4 5 include("DBDA.class.php"); 6 7 $dx=new DBDA(); 8 9 $sql = "delete from House where id=\'{$id}\'"; 10 $r = $dx->Query($sql,2); 11 if($r) 12 { 13 header("location:liebiaoyemian.php"); 14 } 15 else 16 { 17 echo "删除失败!"; 18 }
【5】编辑页面-------bianji.php
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>修改房屋数据</title> 6 </head> 7 <body> 8 <!--newsid--><center> 9 <h1>修改房屋数据</h1> 10 <?php 11 12 $id = $_GET["id"]; 13 14 include("DBDA.class.php"); 15 16 $dx=new DBDA(); 17 18 //echo "id"; 19 //var_dump($id); 20 21 $sql="select * from house where id=\'{$id}\'"; 22 $r=$dx->Query($sql); 23 24 ?> 25 26 27 <form action="bianjichuli.php" method="post"> 28 29 <input type="hidden" name="id" value="<?php echo $r[0][0];?>"/><!--id传过的ID--> 30 31 <div>关键字:<input type="text" name="KeyWord" value="<?php echo $r[0][1];?>"/></div> 32 <div>区域:<input type="text" name="Area" value="<?php echo $r[0][2];?>"/></div> 33 <div>使用面积:<input type="text" name="SquareMeter" value="<?php echo $r[0][3];?>"/></div> 34 <div>租金:<input type="text" name="Rent" value="<?php echo $r[0][4];?>"/></div> 35 <div>租贷类型:<input type="text" name="RentType" value="<?php echo $r[0][5];?>"/></div> 36 <div>房屋类型:<input type="text" name="HouseType" value="<?php echo $r[0][6];?>"/></div> 37 38 39 <div><input type="submit" value="更新"/></div> 40 41 42 </form> 43 <!--<a href="chakan.php"><input type="button" value="查看"></a>--> 44 </center> 45 </body> 46 </html>
【6】编辑的处理页面-------bianjichuli.php
1 <?php 2 3 //使用加载类 4 5 include("DBDA.class.php"); 6 $db = new DBDA(); 7 $id=$_POST["id"];//传ID 8 $KeyWord = $_POST["KeyWord"]; 9 $Area = $_POST["Area"]; 10 $SquareMeter = $_POST["SquareMeter"]; 11 $Rent = $_POST["Rent"]; 12 $RentType = $_POST["RentType"]; 13 $HouseType = $_POST["HouseType"]; 14 $sql="update house set KeyWord=\'{$KeyWord}\',Area=\'{$Area}\',SquareMeter=\'{$SquareMeter}\',Rent=\'{$Rent}\',RentType=\'{$RentType}\',HouseType=\'{$HouseType}\' where id=\'{$id}\'";// where id=\'{$id} 15 16 //echo $sql; 17 18 $attr = $db->Query($sql,2); 19 //var_dump($attr); 20 if($attr) 21 { 22 header("location:liebiaoyemian.php"); 23 } 24 else 25 { 26 echo "修改失败"; 27 }
【7】添加数据页面--------tianjiashuju.php
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>添加页面</title> 6 7 8 </head> 9 <style> 10 .kong 11 { 12 margin:10px 0px 10px 0px; 13 vertical-align: 14 } 15 </style> 16 <body> 17 <form action="tianjiachili.php" method="post"> 18 19 <h3>添加房屋信息页面</h3> 20 21 <div class="kong"> 22 关键字: 23 <input type="text" name="KeyWord"/> 24 </div> 25 <div class="kong"> 26 区域: 27 <input type="text" name="Area"/> 28 </div> 29 <div class="kong"> 30 使用面积: 31 <input type="text" name="SquareMeter"/> 32 </div> 33 <div class="kong"> 34 租金: 35 <input type="text" name="Rent"> 36 </div> 37 <div class="kong"> 38 租赁类型: 39 <input type="text" name="RentType"/> 40 </div> 41 <div class="kong"> 42 房屋类型 43 <input type="text" name="HouseType"/> 44 </div> 45 <div> 46 <input type="submit" value="确定"/><!--插入信息--> 47 <a href="liebiaoyemian.php"><input type="button" value="返回主页" /></a> 48 </div> 49 </form> 50 51 </body> 52 </html>
【8】添加的处理 --------tianjiachili.php
1 <?php 2 //$id = $_POST["id"]; 3 $KeyWord = $_POST["KeyWord"]; 4 $Area = $_POST["Area"]; 5 $SquareMeter = $_POST["SquareMeter"]; 6 $Rent = $_POST["Rent"]; 7 $RentType = $_POST["RentType"]; 8 $HouseType = $_POST["HouseType"]; 9 10 //造连接对象 11 include("DBDA.class.php"); 12 $db=new DBDA(); 13 14 //写sql语句 15 $sql="insert into house values(\'\',\'{$KeyWord}\',\'{$Area}\',\'{$SquareMeter}\',\'{$Rent}\',\'{$RentType}\',\'{$HouseType}\')"; 16 //执行语句 17 $r=$db->Query($sql,2);//($sql,2) 2代表增删改 错在了2上 18 19 if($r) 20 { 21 header("location:liebiaoyemian.php"); 22 } 23 else{ 24 echo "执行失败!"; 25 } 26 ?>
【9】多条件查询------duotiaojianchaxun.php
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>租房子----多条件查询</title> 6 </head> 7 8 <body> 9 10 <body> 11 <form action="duotiaojianchaxun.php" method="post"> 12 <div>区域:<input type="checkbox" onclick="CheckAll(this,\'qy\')" />全选</div> 13 <div> 14 <?php 15 include("DBDA.class.php"); 16 $db = new DBDA(); 17 18 $sqlqy = "select distinct Area from house"; 19 $attrqy = $db->Query($sqlqy); 20 //var_dump($attrqy); 21 22 foreach($attrqy as $v) 23 { 24 echo "<input class=\'qy\' type=\'checkbox\' value=\'{$v[0]}\' name=\'qy[]\'/>{$v[0]} "; 25 } 26 ?> 27 </div><br /> 28 29 <div>租赁类型:<input type="checkbox" onclick="CheckAll(this,\'zl\')" />全选</div> 30 <div> 31 <?php 32 33 $sqlzl = "select distinct RentType from House"; 34 $attrzl = $db->Query($sqlzl); 35 36 foreach($attrzl as $v) 37 { 38 echo "<input class=\'zl\' type=\'checkbox\' value=\'{$v[0]}\' name=\'zl[]\'/>{$v[0]} "; 39 } 40 ?> 41 </div><br /> 42 43 <div>房屋类型:<input type="checkbox" onclick="CheckAll(this,\'fw\')" />全选</div> 44 <div> 45 <?php 46 47 $sqlfw = "select distinct HouseType from House"; 48 $attrfw = $db->Query($sqlfw); 49 //var_dump($attrqy); 50 51 foreach($attrfw as $v) 52 { 53 echo "<input class=\'fw\' type=\'checkbox\' value=\'{$v[0]}\' name=\'fw[]\'/>{$v[0]} "; 54 } 55 ?> 56 </div><br /> 57 58 <div>关键字:<input type="text" name="keyword" id="key" /> 59 </form> 60 <br /> 61 <input type="submit" value="搜索" /> 62 63 <br /> 64 <br /> 65 <br /> 66 67 <table cellpadding="1" cellspacing="1" border="1" width="100%"> 68 <tr> 69 <td>关键字</td> 70 <td>区域</td> 71 <td>面积</td> 72 <td>租金</td> 73 <td>租赁类型</td> 74 <td>房屋类型</td> 75 </tr> 76 77 <?php 78 79 $tj = ""; 80 $tj1 = "1=1"; 81 $tj2 = "1=1"; 82 $tj3 = "1=1"; 83 $tj4 = "1=1"; 84 85 if(!empty($_POST["qy"])) 86 { 87 $attr = $_POST["qy"]; 88 $str = implode("\',\'",$attr); 89 $tj1 = " Area in (\'{$str}\')"; 90 } 91 92 if(!empty($_POST["zl"])) 93 { 94 $attr = $_POST["zl"]; 95 $str = implode("\',\'",$attr); 96 $tj2 = " RentType in (\'{$str}\')"; 97 } 98 99 if(!empty($_POST["fw"])) 100 { 101 $attr = $_POST["fw"]; 102 $str = implode("\',\'",$attr); 103 $tj3 = " HouseType in (\'{$str}\')"; 104 } 105 106 if(!empty($_POST["keyword"])) 107 { 108 $attr = $_POST["keyword"]; 109 $tj3 = " keyword like \'%{$attr}%\'"; 110 } 111 112 $tj = " Where {$tj1} and {$tj2} and {$tj3} and {$tj4}";//Where 前加空格 113 114 $sql = "select * from House".$tj; 115 $attrall = $db->Query($sql); 116 //var_dump($attrall); 117 118 foreach($attrall as $v) 119 { 120 echo "<tr> 121 <td>{$v[1]}</td> 122 <td>{$v[2]}</td> 123 <td>{$v[3]}</td>以上是关于PHP-----练习-------租房子-----增删改查,多条件查询的主要内容,如果未能解决你的问题,请参考以下文章