您的位置:

php接受条件并查询,php条件判断语句

本文目录一览:

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做个查询页面,接收用户输入信息,然后查询数据库中对应信息,并输出出来,本人很菜,希望大家帮忙

$db = mysql_connect("localhost", "root", "password");

mysql_select_db("mydb",$db);

if (isset($_POST['name'])) {

echo "你输入的用户是:". $_POST['name'];

}

$result = mysql_query("SELECT * FROM employees WHERE name='".$_POST['name']."'",$db);

while ($fields = mysql_fetch_row($result)) {

$data[] = $filelds;

}

if(!empty($data)){

foreach($data as $val){

foreach($val as $k = $v){

echo $k." ".$v."br /";

}

echo "br /hr /";

}

}else{

echo "此用户下没有数据。";

}

可能需要修改的地方,查询条件我是使用的name,根据你数据库中的字段名做一下更改,输出信息没有太多的处理,可以使用表格输出或是其它样式,可以自己调整一下,HTML部分省略了。

如何在PHP页面实现指定条件的查询

在页面里把条件都写到多选按钮里,post提交,php接收提交的参数,然后拼接成完整的sql语句不就行了?

php 根据条件查询一条数据 还有查询所有的数据怎么弄。。。才学PHP

$query=mysql_query("SELECT * FROM userinfo WHERE id='$snum'");

改成

$query=mysql_query("SELECT * FROM userinfo");

就是所有的了

如果想约束

$query=mysql_query("SELECT * FROM userinfo limit 0,20“);

前 面 第1 到20条