PHP,单项查询及多项查询

先封装对象class DBDA
{
    public $host = "localhost";    //数据库地址
    public $uid = "root";    //数据库用户名
    public $pwd = "123";    //数据库密码

    //执行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;
        }
    }
}
单项查询页面
<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>
时间: 2024-07-29 17:34:42

PHP,单项查询及多项查询的相关文章

TFS API : 四、工作项查询

TFS API : 四.工作项查询 本节将讲述如何查询工作项,将用户统计数据. 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似: Select [标题] from workitems where [工作项类型]='任务' and [指派给] = 'administrator' order by [标题] 我们通过多个步骤来学习, 一.基本查询 //取出团队集合URI下的项目名称,如果团队集合为空则取默认集合下项目 Uri tfsUri = new Ur

【知了堂学习笔记】SQL查询基础语句(单表查询、多表查询)

SQL查询基础 1.单表查询 从数据库中查找数据 专业的称谓又称为投影 基本查询语句结构 select 列 from 表 * 所有列不是所有其他东西 查询所有数据 例:SELECT * FROM t_studen 需要执行比较细的操作  加上条件筛选:查询id为2号的学生信息 SELECT * FROM t_student WHERE id=2; 筛选的执行步骤 例:SELECT * FROM t_student WHERE id=2; SELECT *          (3) 再查询  筛选

MySql存储引擎+表解压缩机制+索引+查询缓存机制+慢查询日志

一.大型网站优化之MySql优化 1.优化和不优化的对比的 在业界当中我们有一个叫大数据(big data)的概念,所谓的大数据指代千万级别以上的数据作为起步的数据.所以我们现在需要对两张都具有50331650条记录的表进行查询对比,其中表名为tbl_no的表是没有做过任何优化手段的表,表名为tbl_yes的表是做过优化手段的表.这个实验的目的是观察具有优化手段和不具有优化手段的查询中速度的差别. 实验条件: 1)两张表的数据记录总数是相同的 2)两张表的数据字段结构也是一样的 3)查询的记录的

解决query查询输入geometry参数查询不到而通过where条件可以查到的问题

解决query查询输入geometry参数查询不到而通过where条件可以查到的问题 原因: 是因为geometry的坐标系和所要查询的图层不一样导致的(问题引起是由于底图中叠加了不同的坐标系的引起的) 问题描述: 我在公司做好的功能并且测好了,到现场出了问题,发现通过where语句查询时正常的,拉宽查询不正常.并且通过网页打开图层查询请求页面,手动输入代码中得到的geometry查询是可以查到数据的. 问题解决过程: 通过fiddler跟踪请求的http路径(因为arcgisAPI请求arcg

lucene查询索引之解析查询——(八)

0.语法介绍: 1.公共部分代码同七中一样 // IndexReader IndexSearcher public IndexSearcher getIndexSearcher() throws Exception { // 第一步:创建一个Directory对象,也就是索引库存放的位置. Directory directory = FSDirectory.open(new File("E:\\lucene&solr\\index"));// 磁盘 // 第二步:创建一个ind

NHibernate系列文章二十五:NHibernate查询之Query Over查询(附程序下载)

摘要 这一篇文章介绍在NHibernate 3.2里引入的Query Over查询,Query Over查询跟Criteria查询类似.首先创建IQueryOver对象,然后通过调用该对象的API函数,进行对象查询.这篇文章使用Query Over重写之前所有的查询. 本篇文章的代码可以到NHibernate查询下载 1.创建IQueryOver对象,返回所有Customer信息 1 public IList<Customer> QueryAllOver() 2 { 3 return Sess

Linux命令:MySQL系列之五--SELECT单表查询、多表查询升级及删除,插入

SELECT:查询 SELECT select-list FROM tb WHERE qualification  根据标准qualification查找对应的行 查询语句类型:  qualification条件  field领域  distinct独特的 简单查询: 多表查询: 子查询: SELECT * FROM tb_name: 查询tb_name表的所有信息 SELECT field1,field2 FROM tb_name: 投影显示所设定的领域条目(field),一个field就是一

013.子查询和分页子查询(sql实例)

--1 子查询 如果子查询和表连接都实现的时候,推荐用表连接实现( 一般:能用表连接实现的就用表连接,有些情况用表连接不能 或者不易实现的再选择子查询) 系统:缓存,执行计划技术手段 --1 where 条件后 + 子查询 注意: 1 先执行的是子查询语句 2 子查询嵌套的层数越大,性能会随之递减 A) 当子查询写在比较运算符之后(=,!=,>,...)时 要求:子查询的查询结果不能多于1个(1,0(不会报错, 没有结果)) --eg select * from EMP where SAL>(

Atitit.Hibernate于Criteria 使用汇总and 关系查询 and 按照子对象查询 o9o

Atitit.Hibernate于Criteria 使用总结and 关联查询 and 依照子对象查询 o9o 1. Criteria,,Criterion ,, 1 <2. 基本的对象黑头配置磊个关联,三 1 3. Criteria 黑头配置关联查询了... 2 4. Ati Meata 配置关联 @CriteriaRelt 2 5. 关联createCriteria() 3 6. Criteria的使用outline 4 7. 參考:: 5 1. Criteria,,Criterion ,,