根据php中的条件显示下拉列表值
大家好,我正试图根据公司id在下拉列表中显示课程列表 我有8门课。因为我有一个课程名叫PEI课程(课程id是33)。当我尝试将课程分配给用户时,该课程将仅为公司PEI(公司id为14)显示,并且我有另一个课程名称称为ppc课程(课程id为46)。当我尝试将课程分配给用户时,该课程将仅为3家公司显示,即:a(公司id为19)、b(公司id为20)、c(公司id为26) 如果有人能帮助我,我该怎么做 这是我的下拉代码:根据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"
<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)){好的,我已经这样尝试过了,还需要检查它是否正常工作?