根据PHP中的条件显示下拉列表值

时间:2018-08-24 05:33:53

标签: php

您好,我想根据公司ID在下拉列表中显示课程列表。

我有8门课程。因为我有一个叫PEI Course(课程ID为33)的课程名称。当我尝试向用户分配课程时,该课程将仅针对公司PEI(公司ID为14)出现,并且我有另一个名为ppc course(课程ID为46)的课程。当我尝试将课程分配给用户时,该课程将仅对3家公司(即a(公司编号为19),b(公司编号为20),c(公司编号为26))显示。

我该怎么办,任何人都可以帮助我。

这是我的下拉代码:

<select name="courseid" id="courseid" class="form-control" required>     
    <?php
    $sql = "select id,fullname from {course} where id NOT IN(1,33) ";
    $courses = $DB->get_records_sql($sql);
    ?>

    <option value="">Choose Course</option>
    <?php
    if (sizeof($courses)): foreach ($courses as $row):
            $coursename = $row->fullname;
            ?> 
            <option value="<?php echo $row->id; ?>"><?php echo $row->fullname; ?></option> 
            <?php
        endforeach;
    endif;
    ?>        
</select> 

任何人都可以帮助我。

谢谢。

1 个答案:

答案 0 :(得分:0)

我希望您按照我在评论部分中所述的方法走数据库路线。您可以在此期间尝试此操作:

$courses = [44, 52, 67];
$companyId = 14;
$pei = "<option value='33'>33</option>";
$ppc = "<option value='46'>46</option>";
?>

<select name="courseid" id="courseid" class="form-control" required>
    <option value="">Choose Course</option>
    <?php
    if($companyId == 14){
        echo $pei;
    }elseif (in_array($companyId, array(19, 20, 26))) {
        echo $ppc;
    }
    foreach ($courses as $row) {
        ?>
        <option value="<?php echo $row; ?>"><?php echo $row; ?></option>
        <?php
    }
    ?>
</select>

Change the `$companyId` to 19 and test again.