当前位置: 首页 > 编程笔记 >

php查询及多条件查询

苏乐
2023-03-14
本文向大家介绍php查询及多条件查询,包括了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}";

效果图:

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

 类似资料:
  • 问题内容: 在我当前的项目中,我遇到了使用hibernate条件查询获取实体的问题。我有以下实体: 教授,其中包含学生名单 学生,其中包含作业列表。 作业,其中包含分配到的学生的ID。 现在,我想获得与教授有关的所有作业,即教授分配给他的学生的所有作业。 此查询显示我要在条件查询中实现的内容。 如何使用hibernate条件API实施此查询? 问题答案: 假设您的表格是这样的: 使用别名的简单示例

  • 公共方法: public function field ($field=null) //要返回的字段 field(‘id,username,password’) public function where ($condition=null)  //查询条件 public function order($order=null)  //排序 order(‘id desc’) public functi

  • v3.0开始,herosphp 提供了一套全新的设置查询条件的接口: MysqlModel::where($field, $opt, $value); 参数名称 参数类型 参数说明 $field string OR function 字段名称, 如果传入的是 function 的话,则说明是闭包. 闭包传入的是一组查询条件。 $opt string 操作符,如果不传入 $value 的情况下,$o

  • 和异常: 实体:GirMotiuRebuig 这个标准起作用了:

  • 本文向大家介绍PHP CodeIgniter分页实例及多条件查询解决方案(推荐),包括了PHP CodeIgniter分页实例及多条件查询解决方案(推荐)的使用技巧和注意事项,需要的朋友参考一下 最近在用CI框架的时候,用了CI的分页类,以前是用前端整分页,这次干脆用用框架自带的,自己这个健忘的脑袋,还是记录一下吧。 因为页面中有条件筛选的表单,所以想要完成的效果就是,输入条件后,分页跳转之后能维

  • 我有一个班级评语: 保留comment类可以工作,但以下条件查询是有效的: 抛出org.hibernate.exception.DataException:未为参数%1指定值。 这是生成的查询: 选择this_.comment_id作为comment1_0_0_,this_.comment_id作为comment0_0_,commenttop2_.comment_id作为comment1_0_2_