Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据php中的条件显示下拉列表值_Php - Fatal编程技术网

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

根据php中的条件显示下拉列表值,php,Php,大家好,我正试图根据公司id在下拉列表中显示课程列表 我有8门课。因为我有一个课程名叫PEI课程(课程id是33)。当我尝试将课程分配给用户时,该课程将仅为公司PEI(公司id为14)显示,并且我有另一个课程名称称为ppc课程(课程id为46)。当我尝试将课程分配给用户时,该课程将仅为3家公司显示,即:a(公司id为19)、b(公司id为20)、c(公司id为26) 如果有人能帮助我,我该怎么做 这是我的下拉代码: <select name="courseid" id="courseid"

大家好,我正试图根据公司id在下拉列表中显示课程列表

我有8门课。因为我有一个课程名叫PEI课程(课程id是33)。当我尝试将课程分配给用户时,该课程将仅为公司PEI(公司id为14)显示,并且我有另一个课程名称称为ppc课程(课程id为46)。当我尝试将课程分配给用户时,该课程将仅为3家公司显示,即:a(公司id为19)、b(公司id为20)、c(公司id为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> 

选择课程

我希望您按照我在评论部分所述的数据库路线进行操作。不过,您可以同时尝试以下方法:

$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.
$courses=[44,52,67];
$companyId=14;
$pei=“33”;
$ppc=“46”;
?>
选择课程

您应该在数据库级别解决这个问题。创建两个表(
公司
课程
)。同时创建第三个名为
company\u courses
的表,并输入每个公司各自的课程。我假设您有一个现有的
users
表,并且您的
users
表有一个
company\u id
列。因此,现在您可以使用
用户->公司id
查询您的
公司课程
表。我认为这样设计你的系统更好。难道我们不能用php使用if条件和companyid的比较来做吗?你可以…但是如果你想在另一个页面上再做一次呢?按你的方式做不是最好的做法,但让我为你想出一些办法。如果($companyid==“14”)或其他($companyid==19)和($companyid==20)和($companyid==26)){好的,我已经这样尝试过了,还需要检查它是否正常工作?