首页 > 数据库 > MySQL > 正文

php+mysql如何实现条件查询?(代码实例)

2020-03-22 18:45:38
字体:
来源:转载
供稿:网友
本文给大家分享的是使用php+mysql实现单条件以及多条件查询的代码及示例,非常实用,有需要的小伙伴可以参考下

相关mysql视频教程推荐:《mysql教程》

单条件查询:

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">  <p>    输入名字:<input type="text" name="name"/>    <input type="submit" value="查询"/>  </p></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}";

效果图:

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

以上就是php+mysql如何实现条件查询?(代码实例)的详细内容,更多请关注 其它相关文章!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表