dow56114 2018-01-21 11:19
浏览 60

PHP结构 - 在一个页面或多个页面上有多个IF GET语句?

I've been developing in PHP for a few years, but one thing I constantly question is whether I should structure my pages like so:

            if(getValue('action') == "jobsFilter" && getValue('jobType') == "open")
            {
                $job->FetchJobs($jobStatus = 1);
                foreach($job->result AS $pulledJob)
                {
                ?>
                <div class = "openJob panelJob col-xs-12">
                    <h2><?php echo $pulledJob['jobTitle'] ?></h2>
                    <a href = "?action=viewJob&jobId=<?php echo $pulledJob['Id'] ?>" class = "viewJobBtn ">View Job</a>
                </div>
                <?php
                }       
            }else if(getValue('action') == "jobsFilter" && getValue('jobType') == "active")
            {
                $job->fetchAllJobsAppliedToUser($jobStatus = 1);
                foreach($job->result AS $pulledJob)
                {
                ?>
                <div class = "openJob panelJob col-xs-12">
                    <h2><?php echo $pulledJob['jobTitle'] ?></h2>
                    <a href = "?action=viewJob&jobId=<?php echo $pulledJob['Id'] ?>&jobStatus=1" class = "viewJobBtn ">View Details</a>
                </div>
                <?php
                } 
            }else if(getValue('action') == "viewJob" && isset($_GET['jobId']))
            {
                $job->FetchJobs($jobStatus = 1, $jobId = $_GET['jobId']);
                foreach($job->result AS $pulledJob)
                {
                ?>
                <div class = "viewJob panelJob col-xs-12">

                    <div class = "pulledJobInfo">
                        <h2><?php echo $pulledJob['jobTitle'] ?></h2>
                        <p><?php echo $pulledJob['JobDescription'] ?></p>
                    </div>

                    <form method = "post" action = "?action=acceptJob">
                        <input type = "submit" name = "acceptJobSubmitBtn" class = "acceptJobBtn fullWidthButton ctaButton" value = "Let me help" />
                        <input type = "hidden" name = "jobId" value = "<?php echo $pulledJob['Id'] ?>" />
                    </form>
                </div>
                <?php
                }                    
            }

Or whether I should have a separate page, called open-jobs.php for open jobs, closed-jobs.php for closed jobs, etc.

If someone could shed some light on the best solution, that'd be great!

  • 写回答

1条回答 默认 最新

  • duanjucong3124 2018-01-21 11:32
    关注

    Option A:

           if(getValue('action') == "jobsFilter" && getValue('jobType') == "open")
           {
               $job->FetchJobs($jobStatus = 1);
               $file="view1"
           }else if(getValue('action') == "jobsFilter" && getValue('jobType') == "active")
           {
               $job->fetchAllJobsAppliedToUser($jobStatus = 1);
               $file="view2"
    
           }else if(getValue('action') == "viewJob" && isset($_GET['jobId']))
           {
               $job->FetchJobs($jobStatus = 1, $jobId = $_GET['jobId']);
               $file="view3"                                
           }
    
           if($job != null){
             foreach($job->result AS $pulledJob)
             {
              include($file)
             }   
           } 
    

    Option B:

           // Logic what to display
           switch(getValue('action')){
    
            case "jobsFilter":
    
              switch (getValue('jobType')){
                case "open":
                  $job->FetchJobs($jobStatus = 1);
                  $file="view1"
                  break;
                case "active":
                  $job->fetchAllJobsAppliedToUser($jobStatus = 1);
                  $file="view2" 
                  break;             
              }
    
            case "viewJob":
              $job->FetchJobs($jobStatus = 1, $jobId = $_GET['jobId']);
              $file="view3"  
              break;
           }
    
           // Execute the display
           if($job != null){
             foreach($job->result AS $pulledJob)
             {
              include($file)
             }   
           } 
    
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题