lpsftc
lpsftc
采纳率100%
2019-01-31 22:30 阅读 595

使用if、elseif及else,不进判断直接输出else里的,是数据库表头类型问题还是语句错误?

100





使用if、elseif及else,不进判断直接输出else里的,是数据库表头类型问题还是语句错误?




希望各位能给予帮助!




以下是语句:




$sql="select * from `shipin` where id =".$zyid;
$result=mysql_query($sql,$conn);
$shipin=mysql_fetch_array($result);
$sql="select * from `peizhi` where id =1";
$user=queryall(user,$type);
$peizhi=queryall(peizhi,"where id='1'");
$totalMoney=$ubomoney;


if($peizhi[al]>0){
if(($peizhi[al]=="1")or($user[al]=="1")){
      if($shipin){
        $shipin=queryall(shipin,"where id='$zyid'");
        if(intval($shipin[al])){
            $totalMoney=$shipin[al];//金额 自定义
              }
        }
}elseif(($peizhi[al]=="2")or($user[al]=="2")){
   $shipin=queryall(shipin,"where id='$zyid'");
    if($shipin['is_lei']==1){
            $totalMoney=$ubomoney*100;//金额 百倍       
    }
  }
}else{
        $shipin=queryall(shipin,"where id='$zyid'");
            $totalMoney=$ubomoney;//正常
} 





$peizhi[al]是总开关,设置0/1/2分别为正常、自定义、百倍。


$user[al]是单独控制开关,设置0/1/2分别为正常、自定义、百倍。





执行的话不走if($peizhi[al]>0 里的判断··而是直接走else的。怎么破?



以下数据库详情:





peizhi表:
peizhi表




shipin表:
shipin表




user表:
user表

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    lpsftc lpsftc 2019-02-01 03:50

    是我语句有问题这样就好了···但是又出现新问题·····

    我想实现总开关peizhi为1的时候执行user为2的结果·总开关peizhi为2的时候执行user为1的结果·

    现在的情况是总开关peizhi为2的时候执行user为1的结果是正常的!总开关peizhi为1的时候执行user为2的结果却不正常··执行的是配置为1的结果···是逻辑问题吗?改怎么修改?我试了半天没弄明白···谢谢!

    点赞 评论 复制链接分享
  • devmiao devmiao 2019-01-31 23:54
    点赞 评论 复制链接分享
  • weixin_44303492 weixin_44303492 2019-02-20 14:46

    打印看看$peizhi的结果再往if下面走

    点赞 评论 复制链接分享
  • qq_36718671 qq_36718671 2019-03-12 21:30

    peizhi表:数据库设计时允许为空,当未设置al值时不会大于0所以直接执行 else了

    $peizhi=queryall(peizhi,"where id='1'");
    这一句queryall方法没有原型我无法判断是不是这里没有取得值
    您可打印一下 echo $peizhi 看有什么值

    点赞 评论 复制链接分享

相关推荐