导航:首页 > 编程语言 > php条件查询语句

php条件查询语句

发布时间:2023-02-11 02:05:49

1. 请教一个php+mysql多条件查询的语句

一般方法是这样的:

$cond="where addtime between '$starttime' and '$endtime'";

if ($work!='') $cond.=" and work='$work'";
if ($user!='') $cond.=" and user='$user'";
if ($text!='') $cond.=" and text like '%$text%'";

$sql="select addtime from table $cond";

......
mysql_query($sql)
........

能够明白我的思路吧?不明白请说明。

补充:
调试语句应该这样:
if (!$result)
echo "SQL=$sql, ERROR=".mysql_error();

2. php自定义查询条件

你可以使用get方式传值,对表单提交的值进行判断(如果为空,则过滤掉该值;或者写分支,构造where条件),构造一个sql的where语句,
如:$where = "name = $_GET['name'] and ......",多个条件就写多个用and连接的条件,然后你就可以查询了,至于分页,就不说了,太简单了。

3. php 如何查询满足任意两个条件的记录

可使用case when来实现这个条件,需要嵌套子查询语句

sql语句代码示例如下:
复制代码 代码如下:
SELECT * FROM DemoTable
WHERE ((SELECT CASE 1 WHEN condition1满足条件 THEN 1 ELSE 0 END FROM DemoTable )
+(SELECT CASE 1 WHEN condition2满足条件 THEN 1 ELSE 0 END FROM DemoTable)
+(SELECT CASE 1 WHEN condition3满足条件 THEN 1 ELSE 0 END FROM DemoTable)
+(SELECT CASE 1 WHEN condition4满足条件 THEN 1 ELSE 0 END FROM DemoTable)
+(SELECT CASE 1 WHEN condition5满足条件 THEN 1 ELSE 0 END FROM DemoTable))>=2
我没遇见过找的这个资料,同学习吧

4. PHP多条件模糊查询如何写(原先是asp的想写成php)

完全一样的写法呀,只是变量前面加个$、then用{}代替等,例如前几行代码这样:

$cond='';
if($_POST["ckc"]=="查"){
if($_POST["bh"]!=""){
if($cond=="")$cond="编号like'%"&trim(request("bh"))&"%'";
else$cond=cond."AND编号like'%"&trim(request("bh"))&"%'";
}

5. PHP中关于查询多个条件的代码

先向大家说明需求:按照系统的要求,将通过部门名称、员工姓名、PC名称、IP地址等等字段来进行组合查询从而得到想要的数据结果。那么,为了简单起见,我们用两个条件(部门名称、员工姓名)的组合查询来向大家说明这一技术技巧。当只输入部门名而员工姓名为空值时,那么部门内所有员工信息将被呈现,只有当同时限制部门与员工姓名时,才能查询出唯一信息。

那就让我们开始。

首先建立查询页面search.php,不同于上次单一条件查询,这次需要两个条件的组合进行查询。

<html>
<body>
<h3>查询</h3>
<form action="search_result.php" method="POST">
部门名称:<input type="text" size=25 name="depart" value=""> <br><br>
员工姓名: <input type="text" size=25 name="ename" value=""> <br><br>
<input type="submit" name="提交" value="提交">
</form>
</body>
</html>
和上次一样,我们将depart与ename的值通过Post的方法传递给search_result.php文件。

然后便到了这次主题的关键,search_result.php文件如何接受这两个参数值,并判断当其中一个字段为空值时,如何将其排除查询条件。

怎么理解上面这句话,举例子来说,如果我们单纯地将接收参数的查询语句写成 select * from info where depart='部门值参数' and ename='员工姓名参数' 的话,那么如果其中一个参数为空时我们就将得到 select * from info where depart='技术部' and ename='' ,显然,这样的查询很有可能返回空的结果,因为这句查询语句的意思就是,查询所有技术部没有姓名的人的数据,这不是很荒唐么,倒过来如果是 select * from info where depart='' and ename='sunec' ,那么它的意思就是查询员工姓名为sunec但是不属于任何部门的人,那自然也是查询不到结果的。

正确的做法应该是,在查询语句中过滤掉那个为空值的的参数。比如,当输入部门名时应该得到 select * from info where depart='技术部' 。这样,查询语句的意思就变成查询所有部门为技术部员工的信息了,这就是了。
<?php
$link =mysql_connect("localhost","root","管理员密码");
mysql_select_db("infosystem", $link);
?>

<?php

//注释1-----------------------------
$depart=$_POST["depart"];
$ename=$_POST["ename"];

//注释2------------------------
if($depart != null){
$a = " and depart like '%$depart%'";}

if($ename != null){
$b = " and ename like '%$ename%'";}

//注释3---www.51qgj.com-----
$q = "SELECT * FROM info where (1=1)";
$q .=$a;
$q .=$b;

//注释4---www.weiyin8.com-------------
mysql_query("SET NAMES GB2312");
$rs = mysql_query($q, $link);
echo "<table>";
echo "<tr><td>部门</td><td>员工姓名</td></tr>";
while($row = mysql_fetch_object($rs)) echo "<tr><td>$row->depart</td><td>$row->ename</td></tr>";
echo "</table>";

mysql_close($link);

?>
注释1:接收search.php通过post传递出的参数,把两个参数分别存储入变量:depart和ename。

注释2:判断参数是否为空,如果为空,不作任何操作。如果有参数传出,则生成相应SQL语句。

注释3:用追加的方法生成SQL语句。

注释4:生成数据集,显示数据,最后关闭数据库连接。

6. php查询语句和删除语句

先说删除,特定id的很容易,也就是 delete from 表名 where id=n;这里的表名不用多说了吧,那个n代表数字,就是id,这样就可以把id问n的给删除了。
查询的话分两种,先说单表查询,select * from 表名 where id=n and name=‘li’;这里的*,代表你要查询的东西,比如你要查询name和age,那就把星号换成name,age就ok,如果想把符合条件的所有字段都查出来,那就用星号了,然后是where,后面跟的都是条件,id=n和name=li的。
多表查询比较麻烦,方法也很多,我们公司这边一般都是用left join,这样的左链接查询的,说起来是比较麻烦的,去网上搜搜吧,很多关于左链接的例子,这里就不详细说了

7. PHP实现搜索查询功能的方法技巧

下面是首页显示数据表package中的内容,但是有个条件,显示在首页的内容还必须是 :字段status=0,且printing=0的数据才能在首页列表中显示出来。

页面上有一个“搜索”功能,输入条件后就会根据条件来进行查询。

一般的搜索的话,只要在首页显示列表方法index()中给一个:

?

$map=array();//初始化查询条件

$map=$this->_search();//调用查询方法

$total = $this->Model->where ($map)->count(); //这个主要是用来计算页面显示数据条数的

if ($total == 0) {

$_list = '';

} else {

$_list = $this->Model->where ($map)->limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select();

}

然后,就是写一个_search():

protected function _search(){

$map = array ();

$post_data = I ( 'post.' );

if ($post_data ['packageid'] != '') {

$map ['packageid'] = array (

'like',

'%' . $post_data ['packageid'] . '%'

);

}

return $map;

}

最后,在设置的“搜索”菜单中,调用这个搜索方法。

但是,这个搜索的.同时,还要确保在字段status=0,且printing=0的数据中进行搜索。

这个限制条件该加在什么地方。各种尝试和查询后,才知道。限制条件直接加在SQL语句中就行了(如下红色的地方)。(我自己试的时候一直在如下蓝色的地方加条件,屡试屡败!)

$map=array();

$map=$this->_search();

$total = $this->Model->where ($map)->where(array('status' =>0,'print_status'=>0))->count();

if ($total == 0) {

$_list = '';

} else {

$_list = $this->Model->where ($map)->where(array('status' =>0,'print_status'=>0))->limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select();

}


更多相关文章推荐:

8. thinkphp条件查询语句怎么写

where()是条件

多表就用table()

9. php 条件查询

完全可以吧数据库插入数据库在是现在查询操作,之接写算法 你打算读多是词文本?
还有你这个XML 要是很大内存 怎么放的下。
多条件排序 循环数组。自定义排序算法,传值返回排序好值从新插入新的数组。

阅读全文

与php条件查询语句相关的资料

热点内容
小奔运动app网络异常怎么回事 浏览:445
php开启压缩 浏览:303
服务器主机如何设置启动 浏览:282
linux配置网络命令 浏览:774
一张照片怎么制作视频app 浏览:908
pythonweb和php 浏览:976
电脑服务器地址ip地址 浏览:823
对矩阵压缩是为了 浏览:910
setfacl命令 浏览:172
linux子系统中断 浏览:342
linux查看进程ps 浏览:224
知识库系统php 浏览:623
小波变换压缩图像python 浏览:151
阿里巴巴程序员怎么月入百万 浏览:173
如何使用国外服务器 浏览:188
燃灯者pdf 浏览:468
编译器用数学吗 浏览:7
图形化apk反编译工具 浏览:48
考勤表加密怎么办 浏览:735
arj压缩与解压批处理怎么写 浏览:658