php的查询数据
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>
<!--调整样式-->
<style type="text/css">
.qylist
{
float:left;
}
.zllist
{
float:left;
}
.fwlist
{
float:left;
}
</style>
</head> <body>
<?php
//连接数据库,造连接对象
include("DBDA.php");
$db = new DBDA();
//接收值
@$qytj = $_POST["qy"];
@$zltj = $_POST["zl"];
@$fwtj = $_POST["fw"];
@$key = $_POST["key"]; //造查询字符串
$str1 = " 1=1";
$str2 = " 1=1";
$str3 = " 1=1";
$str4 = " 1=1"; //判断第一个条件是否有值
if(count($qytj)>0)
{
$ss = implode("','",$qytj);
$str1 = " Area in ('{$ss}')";
}
//判断租赁类型
if(count($zltj)>0)
{
$ss = implode("','",$zltj);
$str2 = " RentType in ('{$ss}')";
}
//判断房屋类型
if(count($fwtj)>0)
{
$ss = implode("','",$fwtj);
$str3 = " HouseType in ('{$ss}')";
}
//判断关键字
if($key!="")
{
$str4 = " KeyWord like '%{$key}%'";
} $sqltj = " where".$str1." and".$str2." and".$str3." and".$str4; ?>
<!--form表单,查询结果提交的该页面-->
<form action="123.php" method="post">
<div><!--设置全选按钮-->
<div style="margin-top:10px">区域:<input type="checkbox" id="qyqx" name="qyall" onclick="CheckAll(this,'qy')" />全选</div>
<div>
<!--通过循环输出数据库数据添加 子选项 按钮-->
<?php
$sqlqy = "select distinct(Area) from House";//注意去重
$attrqy = $db->Query($sqlqy);
for($i=0;$i<count($attrqy);$i++)
{
echo "<div class='qylist'>
<input type='checkbox' name='qy[]' onClick=\"KZ(this,'qyqx')\" class='qy' value='{$attrqy[$i][0]}' />
{$attrqy[$i][0]}
</div>";
}
?>
</div>
<!--截断流-->
<div style="clear:both"></div>
<div style="margin-top:20px;">租赁类型:<input type="checkbox" id="zlqx" name="zlall" onclick="CheckAll(this,'zl')" />全选</div> <div>
<?php
$sqlzl = "select distinct(RentType) from House";
$attrzl = $db->Query($sqlzl);
for($i=0;$i<count($attrzl);$i++)
{
echo "<div class='zllist'>
<input type='checkbox' name='zl[]' class='zl' onClick=\"KZ(this,'zlqx')\" value='{$attrzl[$i][0]}' />
{$attrzl[$i][0]}
</div>";
}
?>
</div>
<div style="clear:both"></div>
<div style="margin-top:20px">房屋类型:<input type="checkbox" id="fwqx" name="fwall" onclick="CheckAll(this,'fw')" />全选</div> <div>
<?php
$sqlfw = "select distinct(HouseType) from House";
$attrfw = $db->Query($sqlfw);
for($i=0;$i<count($attrfw);$i++)
{
echo "<div class='fwlist'>
<input type='checkbox' name='fw[]' class='fw' onClick=\"KZ(this,'fwqx')\" value='{$attrfw[$i][0]}' />
{$attrfw[$i][0]}
</div>";
}
?>
</div>
<div style="clear:both"></div> <div style="margin:20px 0px 20px 0px">关键字:<input type="text" name="key" /> <input type="submit" value="搜索" /></div> </div>
</form>
<!--创建表格-->
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>关键字</td>
<td>区域</td>
<td>面积</td>
<td>租金</td>
<td>租赁类型</td>
<td>房屋类型</td>
</tr>
<!--连接数据库输出数据-->
<?php $sqlall = "select * from House".$sqltj;//拼接字符串
$rall = $db->Query($sqlall); for($i=0;$i<count($rall);$i++)
{
echo "<tr>
<td>{$rall[$i][1]}</td>
<td>{$rall[$i][2]}</td>
<td>{$rall[$i][3]}</td>
<td>{$rall[$i][4]}</td>
<td>{$rall[$i][5]}</td>
<td>{$rall[$i][6]}</td>
</tr>"; } ?> </table> </body>
<script type="text/javascript">
function CheckAll(ck,cname)
{
//找到全选按钮的选中状态
var zt = ck.checked;
//找它控制的所有的checkbox,找出来的是数组
var all = document.getElementsByClassName(cname);
//控制所有的checkbox状态和全选的状态一致
for(var i=0;i<all.length;i++)
{
all[i].checked = zt;
} } function KZ(ck,ids)//注意id不能相同
{
//判断一下全选自身的选中状态
if(!ck.checked)
{
//只要其中一个未选中就取消全选状态
document.getElementById(ids).checked = false;
}
}
</script>
</html>
注意: 一. Id不能一样
二. 当前面有float时,前面不再是div样式,或是后面的东西会直接出现.如果下面不再用float需要用截断流 <div type="clear:both"></div> 清一下
三.写多个字符串时 可以使用Heredoc结构形式的方法来解决该问题,首先使用定界符表示字符串(<<<),接着在“<<<“之后提供一个标识符GOD,然后是字符串,最后以提供的这个标识符结束字符串。
- 定界符(“<<<”)后标识符也必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始;
- 结尾处的女神(“GOD”)可是在新的一行等你哦;
检查下结尾处的女神(“GOD”)前后是否有空格或其它非“;”字符哦,而且不要漏了“;”;
四.有关字符串
1、单引号开始要以单引号结束哦,双引号开始要双引号结束;
2、嵌套的时间单引号中拥抱双引号哦,双引号中拥抱单引号;
3、单引号拥抱单引号,双引号拥抱双引号,可是需要“\”转义字符在场的;
4、注意单引号和双引号都是英文下的。
php的查询数据的更多相关文章
- 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。
最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...
- Web jquery表格组件 JQGrid 的使用 - 7.查询数据、编辑数据、删除数据
系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...
- AC中保存数据与查询数据
//保存数据 hui.ajax(function (ret, err) { }, url, {values: {t:"test",m:"Search",c:&q ...
- mysql 查询数据时按照A-Z顺序排序返回结果集
mysql 查询数据时按照A-Z顺序排序返回结果集 $sql = "SELECT * , ELT( INTERVAL( CONV( HEX( left( name, 1 ) ) , 16, ...
- 答:SQLServer DBA 三十问之一: char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储 过程和使用T-SQL查询数据有啥不一样;
http://www.cnblogs.com/fygh/archive/2011/10/18/2216166.html 1. char.varchar.nvarchar之间的区别(包括用途和空间占用) ...
- SQL查询数据的几大方法
有你,查询数据我什么都不怕.快快掌握!! 出大招的工具: 1.使用LIKE.BETWEEN.IN进行模糊查询 eg1: SELECT * FROM Students WHERE 姓名 like '张% ...
- 查询数据过多页面反应慢引入缓存解决方案(Redis、H2)
问题:原系统查询接口不支持分页也不可能加入分页支持,导致Ajax查询数据过多,返回数据达到2W多条记录时响应已经极慢,查询功能不要求数据实时性,页面反应速度极慢.体验不好:经排查是由于数据量过大导 ...
- 关于sql用<>不等于查询数据不对问题
平常查询数据 ' 当想要查询 不等于1 的数据的时候,一般会这样查询 ' 此处查询结果没查到所有想要的结果,如果night_flag 列数据为 null时,此行数据是查询不到的. 解决方法一: ' 解 ...
- EF – 2.EF数据查询基础(上)查询数据的实用编程技巧
目录 5.4.1 查询符合条件的单条记录 EF使用SingleOrDefault()和Find()两个方法查询符合条件的单条记录. 5.4.2 Entity Framework中的内部数据缓存 DbS ...
- android: SQLite查询数据
掌握了查询数据的方法之后,你也就将数据库的 CRUD 操 作全部学完了.不过千万不要因此而放松,因为查询数据也是在 CRUD 中最复杂的一种 操作. 我们都知道 SQL 的全称是 Structured ...
随机推荐
- java 零碎1
1. java 程序的入口必须是 static 类型的,接口中不允许有 static , 而且接口中的方法必须是public. 2. java 回收主要针对的是堆区的回收. 3. java.exe 是 ...
- 索引器(C# 编程指南)
原文地址:https://msdn.microsoft.com/zh-cn/library/6x16t2tx(VS.80).aspx 索引器允许类或结构的实例按照与数组相同的方式进行索引.索引器类似于 ...
- 网络编程之socket(转)
“一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. ——有感于实际编程和开源项目研究. 我们深谙信息交流的价 值,那网络中进程之间如何通信,如我们每天打开浏 ...
- java多线程下如何调用一个共同的内存单元(调用同一个对象)
/* * 关于线程下共享相同的内存单元(包括代码与数据) * ,并利用这些共享单元来实现数据交换,实时通信与必要的同步操作. * 对于Thread(Runnable target)构造方法创建的线程, ...
- iOS开发之——从零开始完成页面切换形变动画
前言 某天我接到了UI发给我的两张图: 需求图.png 看到图的时候我一脸懵逼,显然我需要做一个页面切换的指示动画.老实说,从大三暑假开始做iOS开发也一年有余了,但是遇到复杂动画总是唯恐避之不及,只 ...
- iOS 推送全解析
本文旨在对 iOS 推送(以下简称 推送)进行一个完整的剖析,如果你之前对推送一无所知,那么在你认真地阅读了全文后必将变成一个推送老手,你将会对其中的各种细节和原理有充分的理解.以下是 pikacod ...
- 从 bcp 客户端收到一个对 colid x 无效的列长度。
出现场景: 批量插入数据的时候出现这个问题. 原因分析:某个数据的长度应该是大于这个数据对应的列的定义长度. 所以一一检查到底是那个列的长度超出了. 第一种方法: ——————————2017-1-3 ...
- SAP 质检使用非物料基本单位
今天也是奇葩了,物料A基本单位平方米,转化单位卷,销售和采购是按照平方米来采购,但是质检的需要按照平方米来做抽样检验.... 程序开发的: 修改该物料的工序基本单位为卷,再修改检验计划基本单位为卷 程 ...
- Gliffy
http://www.gliffy.com Gliffy 支持在线制作流程图,能够很好的支持中文,基础版本免费.在线制作的思维导图是公开的,高级版本有设置隐私权的权力.可以嵌入博客,办公室应用软件中, ...
- Lambda表达式与Function接口
Lambda表达式是一个匿名函数.C++ 11和 java 8 相继引入了有关对Lambda表达式的支持. Lambda表达式对于高级语言而言并不是必要的,对于Java而言它的功能和一个简易的接口差不 ...