PHP 查询

简单查询

<h1>汽车查询页面</h1>
<br />
<?php
    include("./DBDA.class.php");
    $db = new DBDA();

    $cx="";
    $value="";
    if(!empty($_POST["name"]))
    {
        $name = $_POST["name"];
        $cx = " where Name like ‘%{$name}%‘";//查询字符串
        $value = $name;
    }
?>
<form action="test.php" method="post">
<div>
    请输入名称:<input type="text" name="name" value="<?php echo $value; ?>" /> &nbsp;
    <input type="submit" value="查询" />
</div>
</form>
<br />
<table width="100%" border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td>代号</td>
        <td>汽车名称</td>
        <td>价格</td>
        <td>油耗</td>
        <td>功率</td>
    </tr>

    <?php

        $sql = "select * from Car".$cx;
        $attr = $db->Query($sql);

        foreach($attr as $v)
        {
            //处理Name
            $rp = "<span style=‘color:red‘>{$value}</span>";
            $str = str_replace($value,$rp,$v[1]);
            echo "<tr>
                <td>{$v[0]}</td>
                <td>{$str}</td>
                <td>{$v[7]}</td>
                <td>{$v[4]}</td>
                <td>{$v[5]}</td>
            </tr>";
        }

    ?>

</table>

复杂查询

<h1>汽车查询页面</h1>
<br />
<?php
    include("./DBDA.class.php");
    $db = new DBDA();

    $cx="";
    $value="";

    $tj1 = " 1=1"; //条件1的判断
    $tj2 = " 1=1"; //条件2的判断

    if(!empty($_POST["name"]))
    {
        $tj1 = " Name like ‘%{$_POST[‘name‘]}%‘";
    }
    if(!empty($_POST["brand"]))
    {
        $tj2 = " Brand = ‘{$_POST[‘brand‘]}‘";
    }

    $cx = " where {$tj1} and {$tj2} ";
?>
<form action="test.php" method="post">
<div>
    请输入名称:<input type="text" name="name" value="<?php echo $value; ?>" /> &nbsp;
    系列:<input type="text" name="brand" />&nbsp;
    <input type="submit" value="查询" />
</div>
</form>
<br />
<table width="100%" border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td>代号</td>
        <td>汽车名称</td>
        <td>系列</td>
        <td>价格</td>
        <td>油耗</td>
        <td>功率</td>
    </tr>

    <?php

        $sql = "select * from Car".$cx;
        $attr = $db->Query($sql);
        echo $sql;

        foreach($attr as $v)
        {
            //处理Name
            $rp = "<span style=‘color:red‘>{$value}</span>";
            $str = str_replace($value,$rp,$v[1]);
            echo "<tr>
                <td>{$v[0]}</td>
                <td>{$str}</td>
                <td>{$v[2]}</td>
                <td>{$v[7]}</td>
                <td>{$v[4]}</td>
                <td>{$v[5]}</td>
            </tr>";
        }

    ?>

</table>

封装的类

<?php

class DBDA
{
    public $host = "localhost";    //数据库地址
    public $uid = "root";    //数据库用户名
    public $pwd = "135";    //数据库密码

    //执行SQL语句,返回相应的结果的方法
    //参数:$sql代表要执行的SQL语句,$type是SQL语句类型0代表查询1代表其他,$db代表要操作的数据库
    public function Query($sql,$type=0,$db="mydb")
    {
        //1.造连接对象
        $dbconnect = new MySQLi($this->host,$this->uid,$this->pwd,$db);
        //2.判断连接是否出错
        !mysqli_connect_error() or die("连接失败!");
        //3.执行SQL语句
        $result = $dbconnect->query($sql);

        if($type==0)
        {
            return $result->fetch_all();
        }
        else
        {
            return $result;
        }
    }
}
时间: 2024-11-05 07:40:04

PHP 查询的相关文章

SQL查询字段添加括号报错:Operand should contain 1 column(s)

SQL语句:查询连个字段的信息 SELECT (menu_id,menu_captions) FROM bsdb.menulist a WHERE a.menu_id like ('2_'); 然后,因为这是在存储过程中的一个语句所以,在执行存储过程的时候编译不会报错,但是执行的时候却汇报错:Operand should contain 1 column(s):原因不好解释: 下面是官方发解释(MYSQL):https://dev.mysql.com/doc/refman/5.0/en/row-

MySQL(九)之数据表的查询详解(SELECT语法)二

上一篇讲了比较简单的单表查询以及MySQL的组函数,这一篇给大家分享一点比较难得知识了,关于多表查询,子查询,左连接,外连接等等.希望大家能都得到帮助! 在开始之前因为要多表查询,所以搭建好环境: 1)创建数据表suppliers 前面已经有一张表是book表,我们在建立一张suppliers(供应商)表和前面的book表对应. 也就是说 让book中s_id字段值指向suppliers的主键值,创建一个外键约束关系. 其实这里并没有达到真正的外键约束关系,只是模拟,让fruits中的s_id中

对象序列化和反序列--Hibernate的查询和新增极其相似

Hibernate几个关键字持久化,ORM(关系对象映射)(数据库中关系称作是一张表) 应用在项目中,刘一从写的查询代码,每次都挂掉,想要弄出测试数据,自己想着把查询出来的复杂数据弄到文件里自己要是去造那些复杂数据很麻烦public class Object1 { public static void main(String args[]){ HashMap<String, Object> obj=new HashMap<String,Object>(); obj.put(&quo

Oracle in 查询数据

问题描述: 查询所有的数据,查询结果:146360 select count(1) from bank_cde; in查询的获取部分数据,查询结果 :73080 select count(1) from bank_cde t where t.belongcode2 in('ABC','BCOM','BOC','CCB','CEB','CGB','CIB','CITIC','CMBC','ICBC','PAB','POST','SPDB'); not in查询数据,结果为0 select coun

sqlserver 全库查询 带架构

网上现有的全库查询,无法识别自定义架构的数据库结构: declare @str nvarchar(10) declare @tablename varchar(50) declare @colname varchar(50) declare @counts int declare @sql nvarchar(2000)--以上定义变量 declare cur1 cursor for select a.name tablename,B.name colname from sys.objects a

查询字段描述sql-postgresql

查询字段描述sql SELECT 'comment on column ' || n.nspname ||'.'|| c.relname || '.' || a.attname ||' is '''|| col_description(a.attrelid,a.attnum) ||''';' FROM pg_class as c join pg_attribute as a on a.attrelid = c.oid join pg_namespace n on c.relnamespace=n

基本的查询流【MSSQL】

4个DML(Data Manipulation Language)命令(SELECT INSERT UPDATE DELETE) 查询语法有一个特有的固定顺序 SELECT - FROM - WHERE - GROUP BY - HAVING - ORDER BY 3.FROM子句数据源 本地SQL Server表.(单个SQL SELECT语句中可访问的表的数量不能超过256个) 子查询作为派生表,也称为子选择或内联视图. 视图或存储的SELECT语句. 表值用户定义的函数返回行和列. 分布式

数据库系统实现 第六章 查询执行

第六章 查询执行 查询执行也就是操作数据库的算法 一次查询的过程: 查询-->查询编译(第七章)-->查询执行(第六章)-->数据 查询编译预览 查询编译可以分为三个步骤: a)分析:构造分析树,用来表达查询和它的结构 b)查询重写,分析树被转化为初始查询计划,通常是代数表达式,之后初始的查询计划会被优化为一个时间更小的计划 c)物理计划生成,将查询计划转化成物理的计划, 为了选择更好的查询计划,需要判断 1)查询哪一个代数的等价形式是最有效的 2)对选中形式的每一个操作,所使用的算法选

说说WordPress的主查询函数-query_posts()

今天说说WordPress 的主查询函数 -query_posts(),因为我正在制作的主题里面多次用到了这个函数 . query_posts()查询函数决定了哪些文章出现在WordPress 主 循环(loop)中,正因为如此,query_posts函数仅用于修改主页循环(Loop),而不是在页面上生成次级循环.如果你希望在主循环外另外生 成循环,应该新建独立的WP_Query对象,用这些对象生成循环.在主循环外的循环上使用query_posts会导致主循环运行偏差,并可能在页面上 显示出你不

使用插件bootstrap-table实现表格记录的查询、分页、排序等处理

在业务系统开发中,对表格记录的查询.分页.排序等处理是非常常见的,在Web开发中,可以采用很多功能强大的插件来满足要求,且能极大的提高开发效率,本随笔介绍这个bootstrap-table是一款非常有名的开源表格插件,在很多项目中广泛的应用.Bootstrap-table插件提供了非常丰富的属性设置,可以实现查询.分页.排序.复选框.设置显示列.Card view视图.主从表显示.合并列.国际化处理等处理功能,而且该插件同时也提供了一些不错的扩展功能,如移动行.移动列位置等一些特殊的功能,插件可