php查询及多条件查询

单条件查询:

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>

上图:

啥都没改的一张表

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

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

  </div>

</form>

如图:

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
  //实现两个逻辑
  //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}";

效果图:

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

(0)

相关推荐

  • fleaphp下不确定的多条件查询的巧妙解决方法

    问题:例如,实现如下 $data = array( 'id' => $_POST['id1'], 'name' => $_POST['name1'] ); $posts = $this->_modelstudent->findAll($data); 页面上有 id name 的文本框 可输入ID查询 也可输入NAME查询 也可同时输入查询 : 解决:写循环做判断 例子如下: $conditions = null; $fields = array('id', 'name', 'sex

  • php通过数组实现多条件查询实现方法(字符串分割)

    复制代码 代码如下: <?php $keyword="asp php,jsp"; $keyword=str_replace(" "," ",$keyword); $keyword=str_replace(" ",",",$keyword); $keyarr=explode(',',$keyword); for($index=0;$index<count($keyarr);$index++) {

  • Thinkphp使用mongodb数据库实现多条件查询方法

    有个项目用了mongodb数据库,查询条件有and也有or,按Thinkphp官方手册,使用复合查询(_complex),getLastSql输出查询语句,发现查询条件是空的.用字符串模式查询(_string),请求字符串查询(_query)无法满足需求.估计用mongodb的用户不多,thinkphp官方对这方面支持也不够.打开thinkphp的mongodb驱动,Thinkphp/Extend/Driver/Db/DbMongo.class.php,找到protected function

  • PHP实现多条件查询实例代码

    查询文件(search.php) 一.生成查询语句: 复制代码 代码如下: <? $conn=mysql_connect("localhost","root",""); $db=mysql_select_db("lingyun"); $query="select * from message where tradetype='".$tradetype."'"; //交易类型,如出租

  • PHP组合查询多条件查询实例代码第1/2页

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

  • ThinkPHP5联合(关联)查询、多条件查询与聚合查询实例详解

    本文实例讲述了ThinkPHP5联合(关联)查询.多条件查询与聚合查询.分享给大家供大家参考,具体如下: 一.联合(关联)查询 1. 项目表 DROP TABLE IF EXISTS `darling_project`; CREATE TABLE `darling_project` ( `project_id` int(32) NOT NULL AUTO_INCREMENT, `project_name` varchar(20) NOT NULL, `create_time` int(32) N

  • MybatisPlus分页查询与多条件查询介绍及查询过程中空值问题的解决

    目录 前言 一.分页处理 1.调用方法传入参数获取返回值 2.设置分页拦截器 二.条件查询 2.1通过QueryWrapper对象来执行分页查询 2.2在QueryWrapper对象的基础上使用lambda表达式 2.3直接通过LambdaQueryWrapper对象 三.多条件查询 3.1且的情况 3.2或的情况 四.null判定 前言 MP这样一款强大的持久层框架处理起来复杂的SQL来也是得心应手,效率极高,快快与我一同领略Plus的独特魅力吧 一.分页处理 1.调用方法传入参数获取返回值

  • php查询及多条件查询

    单条件查询: 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

  • mybatis collection 多条件查询的实现方法

    mybatis collection 多条件查询的实现方法 前言: 业务需要通过mybatis 查询返回嵌套集合,嫌多次查询太麻烦,用自带的高级查询解决问题,下边是代码,已测试通过. 说下自己的理解,就是一个主查询结果集里面嵌套了子查询的结果集,可以是多个子查询,每个子查询的条件从主查询结果集中获取,返回值各自定义.collection 标签的property是主查询里面集合的名字,如果有多个就再写个collection,column是子查询参数,单参数直接写主查询结合返回结果,例如直接写上us

  • SQL 多条件查询几种实现方法详细介绍

    SQL 多条件查询 以后我们做多条件查询,一种是排列结合,另一种是动态拼接SQL 如:我们要有两个条件,一个日期@addDate,一个是@name 第一种写法是 if (@addDate is not null) and (@name <> '') select * from table where addDate = @addDate and name = @name else if (@addDate is not null) and (@name ='') select * from t

  • 使用准则进行条件查询--1.4.从窗体中选择查询的条件

    4.从窗体中选择查询的条件 前面的方法虽然简单,但对用户来说操作不够方便,对设计者来说也难以控制,如果通过窗体来实现,这些问题就可以解决了. 如下面的窗体,运行时用户可以在组合框中选择要查询司机的姓名,按下查询按钮就可以看到查询的结果. 下面详细地列出设计的步骤: 创建一个窗体,按下控件向导按钮,在窗体上添加一个组合框.在第一个对话框中选择"我想让组合框在一个表或查询中查找这些值",下一步. 选择一个为组合框提供数据的表或查询.下一步. 选择组合框中要显示的数据,通常除了选择要显示在组

  • 多条件查询的程序

    而在对用户进行查询时,也可能会使用到多种条件的查询方式,如通过工号查询.通过姓名查询.通过性别查询.通过学历查询等.也有可能会通过多种条件的组合查询,如查学历是大专的女员工等. 对于这种查询情况,通常的作法是让用户输入查询条件,再进行SQL语句组合来进行查询.如让用户输入工号.姓名等,单击提交按钮之后,在后台获得这些信息,如以下代码所示: 复制代码 代码如下: //设置查询语句 string strSql = "SELECT * FROM [user] where UserState=1 &qu

  • Spring MVC结合Spring Data JPA实现按条件查询和分页

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 推荐视频:尚硅谷Spring Data JPA视频教程,一学就会,百度一下就有. 后台代码:在DAO层继承Spring Data JPA的PagingAndSortingRepository接口实现的 (实现方法主要在SbglServiceImpl.java类中) 前台表现:用kkpaper表现出来 实现效果: 1.实体类 package com.jinhetech.yogurt.sbgl.entity; im

  • 用扩展方法优化多条件查询(不定条件查询)

    在我们开发过程中,特别是管理系统的开发,经常会遇到多条件查询(或者叫不定条件查询)的案例,就是提供给User输入的查询条件有多个不同的查询栏位,而且,在实际使用中并不能确定User会使用哪些条件来当做搜索条件. 下图就是我们实际项目中一个查询页面的截图,  User在实际操作中,有可能会只根据[扣帐编号]查询,那么,只要在[扣帐编号]栏位输入号码,其他栏位留空即可,那么查询语句就只卡[扣帐编号]这条条件也有可能直接根据日前范围查询,只要输入起始日期即可.当然,在实际开发的时候我们是不能预判Use

  • asp.net实现的MVC跨数据库多表联合动态条件查询功能示例

    本文实例讲述了asp.net实现的MVC跨数据库多表联合动态条件查询功能.分享给大家供大家参考,具体如下: 一.控制器中方法 [HttpGet] public ActionResult Search() { ViewBag.HeadTitle = "搜索"; ViewBag.MetaKey = "\"123\""; ViewBag.MetaDes = "\"456\""; string whereText

随机推荐