php条件查询数据,php实现查询功能
PHP+MYSQL 怎样按条件查询数据库里表的名称?
mysql
白银网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联建站成立与2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
有一个默认的数据库,叫做information_schema
连上这个库,执行下面的语句(你自己那可能的改下下面的sql)
//table_schema
是你的数据库名字
table_name是表名
select
*
from
tables
where
table_schema
=
'storage'
and
table_name
like
'product%'
你看看库中这个表结构就明白了,呵呵
怎样试用PHP原生语句查询数据库
原生SQL查询有 query() 和 execute() 两个方法:
query():用于 SQL 查询操作,并返回符合查询条件的数据集
execute():更新和写入数据的 SQL 操作,返回影响的记录数
query()
query() 方法是用于 SQL 查询操作,和select()方法一样返回符合查询条件的数据集。
例子:
public function read(){
// 实例化一个空模型,没有对应任何数据表
$Dao = M();
//或者使用 $Dao = new Model();
$list = $Dao-query("select * from user where uid5");
if($list){
$this-assign('list', $list );
$this-display();
} else {
$this-error($Dao-getError());
}
}
对于 query() 方法返回的数据集,跟 select() 一样,可以在模板里直接循环输出。
execute()
execute() 方法用于更新和写入数据的 SQL 操作(注:非查询操作,无返回数据集),返回影响的记录数。
例子:
public function read(){
header("Content-Type:text/html; charset=utf-8");
// 实例化一个空模型,没有对应任何数据表
$Dao = M();
//或者使用 $Dao = new Model();
$num = $Dao-execute("update user set email = '12345@xxx.com' where uid=3");
if($num){
echo '更新 ',$num,' 条记录。';
}else{
echo '无记录更新';
}
}
如果查询比较复杂或一些特殊的数据操作不能通过 ThinkPHP 内置的 ORM 和 ActiveRecord 模式实现时,就可以通过直接使用原生 SQL 查询来实现。
注意:以上都是 user 没有表前缀的例子,在查询语句中,查询的表应该写实际的表名字(包括前缀)。
PHP实现按条件查询 数据库内容并在当前页面显示,如下图,谢谢提供下思路
页面加载时 distinct 一下班级,把得到的列表加载到班级的 dropdownlist里,至于性别的直接手动添加男女就行了。
点击查询的时候 select * from xxx where 班级=班级dorpdownlist.text and 性别=性别dorpdownlist.text
PHP中关于查询多个条件的代码
先向大家说明需求:按照系统的要求,将通过部门名称、员工姓名、PC名称、IP地址等等字段来进行组合查询从而得到想要的数据结果。那么,为了简单起见,我们用两个条件(部门名称、员工姓名)的组合查询来向大家说明这一技术技巧。当只输入部门名而员工姓名为空值时,那么部门内所有员工信息将被呈现,只有当同时限制部门与员工姓名时,才能查询出唯一信息。
那就让我们开始。
首先建立查询页面search.php,不同于上次单一条件查询,这次需要两个条件的组合进行查询。
html
body
h3查询/h3
form action="search_result.php" method="POST"
部门名称:input type="text" size=25 name="depart" value="" brbr
员工姓名: input type="text" size=25 name="ename" value="" brbr
input type="submit" name="提交" value="提交"
/form
/body
/html
和上次一样,我们将depart与ename的值通过Post的方法传递给search_result.php文件。
然后便到了这次主题的关键,search_result.php文件如何接受这两个参数值,并判断当其中一个字段为空值时,如何将其排除查询条件。
怎么理解上面这句话,举例子来说,如果我们单纯地将接收参数的查询语句写成 select * from info where depart='部门值参数' and ename='员工姓名参数' 的话,那么如果其中一个参数为空时我们就将得到 select * from info where depart='技术部' and ename='' ,显然,这样的查询很有可能返回空的结果,因为这句查询语句的意思就是,查询所有技术部没有姓名的人的数据,这不是很荒唐么,倒过来如果是 select * from info where depart='' and ename='sunec' ,那么它的意思就是查询员工姓名为sunec但是不属于任何部门的人,那自然也是查询不到结果的。
正确的做法应该是,在查询语句中过滤掉那个为空值的的参数。比如,当输入部门名时应该得到 select * from info where depart='技术部' 。这样,查询语句的意思就变成查询所有部门为技术部员工的信息了,这就是了。
?php
$link =mysql_connect("localhost","root","管理员密码");
mysql_select_db("infosystem", $link);
?
?php
//注释1-----------------------------
$depart=$_POST["depart"];
$ename=$_POST["ename"];
//注释2------------------------
if($depart != null){
$a = " and depart like '%$depart%'";}
if($ename != null){
$b = " and ename like '%$ename%'";}
//注释3--------
$q = "SELECT * FROM info where (1=1)";
$q .=$a;
$q .=$b;
//注释4----------------
mysql_query("SET NAMES GB2312");
$rs = mysql_query($q, $link);
echo "table";
echo "trtd部门/tdtd员工姓名/td/tr";
while($row = mysql_fetch_object($rs)) echo "trtd$row-depart/tdtd$row-ename/td/tr";
echo "/table";
mysql_close($link);
?
注释1:接收search.php通过post传递出的参数,把两个参数分别存储入变量:depart和ename。
注释2:判断参数是否为空,如果为空,不作任何操作。如果有参数传出,则生成相应SQL语句。
注释3:用追加的方法生成SQL语句。
注释4:生成数据集,显示数据,最后关闭数据库连接。
php 多条件查询数据库MySQL
SELECT * FROM `表名` WHERE bookid=22
获取BOOKID为22的记录,输出$uid=
if(strpos($uid,"2")!==false):echo"包含";else:echo"不包含";endif;
判断UID中是否含有2
MYSQLI方法统计数量
$num=mysqli_num_rows(mysqli_query($mysqli,"SELECT id FROM `表名` where pinglun=1"));
统计该表中pinglun=1的记录数量
php 条件查询
完全可以吧数据库插入数据库在是现在查询操作,之接写算法 你打算读多是词文本?
还有你这个XML 要是很大内存 怎么放的下。
多条件排序 循环数组。自定义排序算法,传值返回排序好值从新插入新的数组。
文章名称:php条件查询数据,php实现查询功能
标题来源:http://scjbc.cn/article/hdecig.html