请教:当supermanager == '2' 的时候,我要求只输出industry=1 or industry=7 的内容
否则当supermanager不等2的时候就输出全部数据
我是个php的菜鸟,望大侠伸手帮助一下,感激不尽!
<?php
session_start();
require_once '../session.php';
require_once '../inc/const.php';
$page = $_GET ['page'] ? $_GET ['page'] : 1;
$page_size = 30;
//if($supermanager == '2')
//{
//$where = " and (industry=1 or industry=7)";
//}
//$sql = "select * from 表名 where 1".$where;
//else
$sqlstr=get_sql("select * from {pre}customer order by rank asc,id desc");//此行语句输出全部数据
$s_list = $db->selectLimit ( $sqlstr, $page_size, ($page - 1) * $page_size );
$total_nums = $db->getRowsNum ( $sqlstr );
?>

解决方案 »

  1.   

    where (supermanager='2' and (industry=1 or industry=7)) or supermanager!=2
      

  2.   

    楼上大侠,非常感谢你的帮助啊!谢谢了!
    请问是不是下面这样就可以啊
    $sqlstr=get_sql("select * from {pre}customer where (supermanager='2' and (industry=1 or industry=7)) or supermanager!=2 order by rank asc,id desc");//
    <?php
    session_start();
    require_once '../session.php';
    require_once '../inc/const.php';
    $page = $_GET ['page'] ? $_GET ['page'] : 1;
    $page_size = 30;
    $sqlstr=get_sql("select * from {pre}customer where (supermanager='2' and (industry=1 or industry=7)) or supermanager!=2 order by rank asc,id desc");//此行语句输出全部数据
    $s_list = $db->selectLimit ( $sqlstr, $page_size, ($page - 1) * $page_size );
    $total_nums = $db->getRowsNum ( $sqlstr );
    ?>
      

  3.   

    我试过了可是出错了。出错提示内容:Unknown column 'supermanager' in 'where clause'
      

  4.   

    未知列'supermanager'在'WHERE子句'不是和你说了吗?字段名不能搞错!
    你的表有名为 supermanager 的字段吗?
      

  5.   

    原来我是2个表的问题
    customer和manager 表select a.customer,b.manager from a.customer where a.name='name' and b.(supermanager='2' and (industry=1 or industry=7)) or supermanager!=2 order by rank asc,id desc");要如何才能合起来加入这个条件啊
      

  6.   

    $sqlstr=get_sql("select * from customer a,manager b where b.(supermanager='2' and (industry=1 or industry=7)) or supermanager!=2 order by rank asc,id desc";为什么我这么写不行啊帮帮忙  谢谢了啊
      

  7.   

    $sqlstr=get_sql("select * from customer a,manager b where (b.supermanager='2' and (b.industry=1 or b.industry=7)) or b.supermanager!=2 order by rank asc,id desc";manager b 指
    表名 别名b.supermanager 指
    别名.字段名
      

  8.   

    楼主的sql不过关啊,建议先去熟悉一下sql,否则只会php的话依然无法参与开发的
      

  9.   

    $sqlstr=get_sql("select * from customer a,manager b where (b.supermanager='2' and (a.industry='1' or a.industry='7')) or b.supermanager!='2' order by a.rank asc,a.id desc");这样还是不行当supermanager='2'的时候  industry的数据依然是全部输出
    我想达到 当supermanager='2'的时候  就输出industry=1 和 industry=7 的数据
    当supermanager不等于2的时候  就输出全部的数据
      

  10.   

    select * from customer a,manager b where (b.supermanager='2' and (a.industry='1' or a.industry='7')) or b.supermanager!='2' order by a.rank asc,a.id descselect a.*,b.* from customer a left join manager b on a.customer_id=b.customer_id  where 
    b.supermanager='2' and a.industry='1' or a.industry='7'on后面的是两个表的关系字段... 外键.
      

  11.   

    我怀疑,你是判断当前用户的身份,然后显示不同的数据$where = '1';
    if($supermanager == '2')
    {
    $where .= " and (industry=1 or industry=7)";
    }
    $sqlstr=get_sql("select * from {pre}customer where $where order by rank asc,id desc");//此行语句输出全部数据