11月6日上午PHP练习《租房子》解析
一、题目要求




二、题目做法
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.租房子首页
<!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>

(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>

11月6日上午PHP练习《租房子》解析的更多相关文章
- 11月13日上午ajax返回数据类型为JSON数据的处理
ajax返回数据类型为JSON数据的处理 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...
- 11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- 11月8日上午Jquery的基础语法、选取元素、操作元素、加事件、挂事件及移除事件
jquery基础知识 1.jquery文件的引入,所有的js代码要写在下面那段代码下面. <script src="../jquery-1.11.2.min.js">& ...
- 11月7日上午PHP会话控制(session和cookie)、跨页面传值
1.session 登录上一个页面以后,长时间没有操作,刷新页面以后需要重新登录. 特点:(1)session是存储在服务器: (2)session每个人(登陆者)存一份: (3)session ...
- 11月3日上午PHP练习《投票》
1.建立数据库 表1:DiaoYanTiMu 表2:DiaoYanXuanXiang 2.页面 页面1:投票首页 <!DOCTYPE html PUBLIC "-//W3C//DTD ...
- 11月1日上午PHP------empty、 is_null、isset、unset的区别
1.empty 判断一个变量是否为"空".null.false.00.0.'0′.』.为以上值的变量在检测時都将返回true. 2.isset 判断一个变量是否已经设置.0.00. ...
- 11月1日上午PHP批量删除
1.在主页面上添加批量删除有关代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
- 11月30日《奥威Power-BI智能分析报表制作方法》腾讯课堂开课啦
这么快一周就过去了,奥威公开课又要与大家见面咯,上节课老师教的三种报表集成方法你们都掌握了吗?大家都知道,学习的结果在于实际应用,想要熟练掌握新内容的要点就在于去应用它.正是基于这一要点,每一期的课程 ...
- 11月23日《奥威Power-BI报表集成到其他系统》腾讯课堂开课啦
听说明天全国各地区都要冷到爆了,要是天气冷到可以放假就好了.想象一下大冷天的一定要在被窝里度过才对嘛,索性明天晚上来个相约吧,相约在被窝里看奥威Power-BI公开课如何? 上周奥威公开 ...
随机推荐
- html iframe 元素之间的调用
html iframe 元素之间的调用一.简介 一般需要引入一个独立页面的时候,我们会使用iframe.在业务需要的时候,我们需要在父页面与iframe页面之间进行交互.交互的时候,我们就需要使 用到 ...
- C++ 栈和堆的区别
C++中的存储区分为全局数据区.代码区.堆.栈. 全局数据区存放静态数据.全局变量.常量. 代码区存放所有类成员函数和非成员函数的代码. 栈区存放用于函数的返回地址.形参.局部变量.返回类型. 堆区存 ...
- MySQL GROUP_CONCAT函数使用示例:如何用一个SQL查询出一个班级各个学科第N名是谁?
如何用一个SQL查询出一个班级各个学科第N名是谁? 首先贴出建表语句,方便大家本地测试: -- 建表语句 CREATE TABLE score ( id INT NOT NULL auto_incre ...
- addEventListener 的另类写法
addEventListener 参数如下 addEventListener(type, listener[, useCapture]); type,事件名称 listener,事件处理器 useCa ...
- shell中各种括号的作用()、(())、[]、[[]]、{}
一.小括号,圆括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有 ...
- Windows批处理:配置防火墙规则、开启远程桌面
一.简介 公司主机加入域后,防火墙未进行设置,规则不统一,不少主机ping不通.另打算开启远程桌面,方便远程管理网内每台主机.曾在DC上测试过域组策略内的Windows防火墙设置,无论是新增规则还是直 ...
- Xcode 6、7 打包
从 Xcode 6 开始,打包需要开发者帐号添加到授权帐号列表里. 现实情况是作为公司开发工作者,很少能获此殊荣. 解决之道: 用 Xcode 6/7 照常打包,生成 *.xcarchive 文件,然 ...
- Java程序性能优化——让你的java程序更快、更稳定
1.Java性能调优概述 1.1.Web服务器,响应时间.吞吐量是两个重要的性能参数. 1.2.程序性能的几个表现: 执行速度:程序的反映是否迅速,响应时间是否足够短 内存分配:分配是否合理,是否过多 ...
- 洛谷P1220关路灯[区间DP]
题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯. 为了给村 ...
- ajax方法总结
ajax方法总结 1.原生ajax get请求和post请求区别:黄色小三角 以get请求为例,输出结果如下: 2.jquery中的ajax 列了常用的6个方法: 3.状态说明 readystate: ...