php查询及多条件查询


Posted in PHP onFebruary 26, 2017

单条件查询:

1.先要有一张表,显示出表中的数据:

<!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 border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td width="200">编号</td>
    <td width="200">姓名</td>
    <td width="200">电话</td>
    <td width="200" >分组</td>

  </tr>
  <?php
  $db = new mysqli("localhost","root","12345678","heiheihei");
  $sql = "select * from contacts";
  $r = $db->query($sql);
  //传值
  while ($attr = $r->fetch_row())
  {
    echo " <tr>
    <td>{$attr[0]}</td> 

    <td>{$attr[1]}</td>
    <td>{$attr[2]}</td>
    <td>{$attr[3]}</td>
    
  </tr>";
  }
  ?>
</table>


</body>
</html>

上图:

php查询及多条件查询

啥都没改的一张表

2.再来个from表单,让用户输入,点击查询:

<form action="shouye.php" method="post">
  <div>
    输入名字:<input type="text" name="name"/>
    <input type="submit" value="查询"/>

  </div>

</form>

如图:

php查询及多条件查询

3.建立关键字查询:

<?php
  //实现两个逻辑
  //1.如果没有post数据.查所有的
  //2.如果有post数据.根据条件查
  $db = new mysqli("localhost","root","12345678","heiheihei");
  //连接数据库
  $tj = " 1 = 1 ";
  $name="";
  //恒成立,如果没有写数据,那就让条件等于1=1,这个条件是查找所有的数据
  //如果你写入数据,按照数据查
  if(!empty($_POST))
  {
    $name = $_POST['name'];
    $tj = " name like '%{$name}%'";
  }
  //将条件拼接到SQl语句
  $sql = "select * from contacts WHERE {$tj}";
  echo $sql;

  //查出来
  $r = $db->query($sql);
  //传值
  if($r)
    //开始判断
  {
    //$attr已经接收到了值,现在只需要获取他的索引就行了
    while ($attr = $r->fetch_row())
    {
      //关键字特殊查询

     $str = str_replace($name,"<mark>{$name}</mark>",$attr[1]);  //查找替换如ctrl+f
      //substr_replace();     在指定位置替换
      //substr();    截取字符串

      $gname = "select gname from groups WHERE gid='{$attr[3]}'";
      //分组表中的gid,和我点击的
      $nresult = $db->query($gname);
      $gname = $nresult->fetch_row();
      $nation = $gname[0];
 echo " <tr>
<td>{$attr[0]}</td> 

<td>{$str}</td>
<td>{$attr[2]}</td>
<td>{$nation}</td>


?>

图:

php查询及多条件查询

多条件查询:

前面照旧;

出了php的语句:

<?php
  //实现两个逻辑
  //1.如果没有post数据.查所有的
  //2.如果有post数据.根据条件查
  $db = new mysqli("localhost","root","12345678","heiheihei");
  //连接数据库
  $tj1 = " 1 = 1 ";
  $tj2 = " 1 = 1 ";//两个条件的恒等
  $name="";
  //恒成立,如果没有写数据,那就让条件等于1=1,这个条件是查找所有的数据
  //如果你写入数据,按照数据查
  if(!empty($_POST["name"])) //第一个条件的判断(用到了模糊查询)
  {
    $name = $_POST['name'];
    $tj1 = " name like '%{$name}%'";
  }
  if(!empty($_POST["tel"]))
  {
    $tel = $_POST["tel"];
    $tj2 = "tel = '$tel'";
  }
  //将条件拼接到SQl语句
  $sql = "select * from contacts WHERE {$tj1} AND {$tj2}";

效果图:

php查询及多条件查询

这样:有几个条件就做几个条件变量,第一个条件不为空就执行的第一个条件,第二个条件不为空执行的第二个条件,两个都为空就是查寻所有的数据

PHP 相关文章推荐
如何过滤高亮显示非法字符
Oct 09 PHP
DedeCms模板安装/制作概述
Mar 11 PHP
通过PHP CLI实现简单的数据库实时监控调度
Jul 01 PHP
PHP 开源AJAX框架14种
Aug 24 PHP
用php实现选择排序的解决方法
May 04 PHP
用PHP和Shell写Hadoop的MapReduce程序
Apr 15 PHP
修改WordPress中文章编辑器的样式的方法详解
Dec 15 PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 PHP
php+ajax简单实现全选删除的方法
Dec 06 PHP
wordpress网站转移到本地运行测试的方法
Mar 15 PHP
PHP经典设计模式之依赖注入定义与用法详解
May 21 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 PHP
php批量删除操作代码分享
Feb 26 #PHP
浅谈PHP的反射API
Feb 26 #PHP
CentOS 上搭建 PHP7 开发测试环境
Feb 26 #PHP
php封装的验证码类分享
Feb 26 #PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
Feb 25 #PHP
简单谈谈PHP中的trait
Feb 25 #PHP
laravel中命名路由的使用方法
Feb 24 #PHP
You might like
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
让你成为更出色的PHP开发者的10个技巧
2011/02/25 PHP
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
2011/08/09 PHP
php下获取http状态的实现代码
2014/05/09 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
Laravel框架中缓存的使用方法分析
2019/09/06 PHP
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
2012/03/01 Javascript
js 使FORM表单的所有元素不可编辑的示例代码
2013/10/17 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
Javascript中的默认参数详解
2014/10/22 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
jQuery文字轮播特效
2017/02/12 Javascript
JavaScript数组_动力节点Java学院整理
2017/06/26 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
python实现封装得到virustotal扫描结果
2014/10/05 Python
python持久性管理pickle模块详细介绍
2015/02/18 Python
使用优化器来提升Python程序的执行效率的教程
2015/04/02 Python
python机器学习之神经网络(一)
2017/12/20 Python
NumPy 数组使用大全
2019/04/25 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
Python 存取npy格式数据实例
2020/07/01 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
互动出版网:专业书籍
2017/03/21 全球购物
TCP/IP模型的分界线
2012/12/01 面试题
生产现场工艺工程师岗位职责
2013/11/28 职场文书
应届毕业生个人求职信范文
2014/01/29 职场文书
入党积极分子评语
2014/05/04 职场文书
我为党旗添光彩演讲稿
2014/09/10 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
初中语文教学随笔
2015/08/15 职场文书
动画电影《龙珠超 超级英雄》延期上映
2022/03/20 日漫
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis