免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1937 | 回复: 3
打印 上一主题 下一主题

求助:CASE语句,无法按条件输出 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-23 02:38 |只看该作者 |倒序浏览
在PHP中执行

switch($sql)
{
case !is_null($search_type_first_name) & is_null($search_type_main_phone);  //只输入名字,不输入电话的查询
$sql="select * from person_info_basic where first_name like '%".$search_type_first_name."%' ";
break;

case !is_null($search_type_first_name) & !is_null($search_type_main_phone); //名字和电话同时输入后查询
$sql="select * from person_info_basic where first_name like '%".$search_type_first_name."%' and main_phone='$search_type_main_phone' ";
break;

case is_null($search_type_first_name) and !is_null($search_type_main_phone); //只输入电话的查询
$sql="SELECT * FROM person_info_basic WHERE main_phone = '$search_type_main_phone'";
break;
}

$result=mysql_query($sql);

执行后无法按照上述条件输出结果集,我用嵌套的switch办法可以实现这个功能(如下),但想请教大侠们,如果我为了图省事,不想用嵌套的办法,我能不能像上面所写的那样,对$sql这个变量进行直接判断?

switch($search_type_first_name)
{
case !is_null($search_type_first_name):
     switch($search_type_main_phone)
             {
                   case is_null($search_type_main_phone):
                        $sql="select * from person_info_basic where first_name like '%".$search_type_first_name."%' ";
                                break;
               case !is_null($search_type_main_phone):
                $sql="select * from person_info_basic where first_name like '%".$search_type_first_name."%' and main_phone='$search_type_main_phone' ";
                break;
                  }
break;
case  is_null($search_type_first_name):
      switch($search_type_main_phone)
              {
                  case is_null($search_type_main_phone):
                  echo "Sorry, Please Enter the searching conditions!";
                  break;
                  case !is_null($search_type_main_phone):
                  $sql="SELECT * FROM person_info_basic WHERE main_phone = '$search_type_main_phone'";
                  break;
                   }
break;
}

$result=mysql_query($sql);

[ 本帖最后由 kkboy_dyc 于 2008-7-23 06:18 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-07-24 23:15 |只看该作者

论坛徽章:
0
3 [报告]
发表于 2008-07-25 11:45 |只看该作者
请检查和思考自己的业务的逻辑

论坛徽章:
52
码神
日期:2017-03-28 10:27:10综合交流区版块每日发帖之星
日期:2015-10-11 06:20:00综合交流区版块每日发帖之星
日期:2015-09-28 06:20:00综合交流区版块每日发帖之星
日期:2015-09-22 06:20:00每日论坛发贴之星
日期:2015-09-12 06:20:00综合交流区版块每日发帖之星
日期:2015-09-12 06:20:00综合交流区版块每日发帖之星
日期:2015-09-08 06:20:00综合交流区版块每日发帖之星
日期:2015-09-05 06:20:00综合交流区版块每日发帖之星
日期:2015-09-04 06:20:002015亚冠之德黑兰石油
日期:2015-09-01 10:41:53每日论坛发贴之星
日期:2015-10-11 06:20:00综合交流区版块每日发帖之星
日期:2015-10-12 06:20:00
4 [报告]
发表于 2008-07-25 16:22 |只看该作者

回复 #1 kkboy_dyc 的帖子

用echo判断程序走向,和输入控制程序走向的相关字段。。。
你自然就知道怎么回事了。。。

评分

参与人数 1可用积分 +5 收起 理由
超级冷门 + 5

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP