根据用户的性别显示特定 select 选项
Displaying specific select option based on user's gender
我正在尝试根据性别对 select option
设置限制,并相应地显示在表单中。我可以这样写来与表格中的 if else
语句进行比较吗?输出结果只显示第一个select option
,其他不显示,不分性别
这是我的代码:
if ($row = mysqli_fetch_assoc($staffQuery)) {
$sex = $row['gender'];
?>
<div class="form-group">
<label for="select" class="col-md-2 control-label">Type of leave </label>
<div class="col-md-2">
<?php
if ($sex == "male") {?>
<select class="form-control" id="select" name="leave_option">
<option value="1">Annual Leave</option>
<option value="2">Sick Leave</option>
<option value="3">No Pay Leave</option>
<option value="4" disabled>Maternity Leave</option>
<option value="5">Adoption Leave</option>
<option value="6">Childcare Leave</option>
<option value="7">Paternity Leave</option>
<option value="8">Shared Parental Leave</option>
<option value="9">Infant Care Leave</option>
<option value="10">Reservist Leave</option>
</select>
<?php
}else {?>
<select class="form-control" id="select" name="leave_option">
<option value="1">Annual Leave</option>
<option value="2">Sick Leave</option>
<option value="3">No Pay Leave</option>
<option value="4">Maternity Leave</option>
<option value="5">Adoption Leave</option>
<option value="6">Childcare Leave</option>
<option value="7">Paternity Leave</option>
<option value="8">Shared Parental Leave</option>
<option value="9">Infant Care Leave</option>
<option value="10" disabled>Reservist Leave</option>
</select>
<?php } ?>
</div>
</div>
<?php } ?>
如有任何帮助,我们将不胜感激。谢谢。
你只能在一个条件下实现,像这样
<select class="form-control" id="select" name="leave_option">
<option value="1">Annual Leave</option>
<option value="2">Sick Leave</option>
<option value="3">No Pay Leave</option>
<option value="4" <?php if($sex == "male") echo "disabled"; ?>>Maternity Leave</option>
<option value="5">Adoption Leave</option>
<option value="6">Childcare Leave</option>
<option value="7">Paternity Leave</option>
<option value="8">Shared Parental Leave</option>
<option value="9">Infant Care Leave</option>
<option value="10" <?php if($sex != "male") echo "disabled"; ?> >Reservist Leave</option>
</select>
是的。你可以使用 if else 但如果你这样写会更有效率
if ($row = mysqli_fetch_assoc($staffQuery)) {
$sex = $row['gender'];
?>
<div class="form-group">
<label for="select" class="col-md-2 control-label">Type of leave </label>
<div class="col-md-2">
<select class="form-control" id="select" name="leave_option">
<option value="1">Annual Leave</option>
<option value="2">Sick Leave</option>
<option value="3">No Pay Leave</option>
<option value="4" <?php echo $sex=="male"?"disabled":"" ?> >Maternity Leave</option>
<option value="5">Adoption Leave</option>
<option value="6">Childcare Leave</option>
<option value="7">Paternity Leave</option>
<option value="8">Shared Parental Leave</option>
<option value="9">Infant Care Leave</option>
<option value="10" <?php echo $sex=="male"?"":"disabled"?>>Reservist Leave</option>
</select>
</div>
</div>
如果您只想显示所需的选项,请按照以下步骤操作:
<select class="form-control" id="select" name="leave_option">
<option value="1">Annual Leave</option>
<option value="2">Sick Leave</option>
<option value="3">No Pay Leave</option>
<?php if($sex == "female"){ ?>
<option value="4">Maternity Leave</option>
<? } ?>
<option value="5">Adoption Leave</option>
<option value="6">Childcare Leave</option>
<option value="7">Paternity Leave</option>
<option value="8">Shared Parental Leave</option>
<option value="9">Infant Care Leave</option>
<?php if($sex == "male"){ ?>
<option value="10">Reservist Leave</option>
<? } ?>
</select>
我已经找到为什么它不能工作了,因为我忘了找回
staff_id
来自 $_SESSION
,因此比较无效。很高兴修复它并能够更有效地完成它 way.Thanks 为您的所有输入。
$getId = $_SESSION['staff_id']; //missing, thus unable to compare
$staffQuery = "SELECT * FROM staff WHERE staff_id = '$getId'";
我正在尝试根据性别对 select option
设置限制,并相应地显示在表单中。我可以这样写来与表格中的 if else
语句进行比较吗?输出结果只显示第一个select option
,其他不显示,不分性别
这是我的代码:
if ($row = mysqli_fetch_assoc($staffQuery)) {
$sex = $row['gender'];
?>
<div class="form-group">
<label for="select" class="col-md-2 control-label">Type of leave </label>
<div class="col-md-2">
<?php
if ($sex == "male") {?>
<select class="form-control" id="select" name="leave_option">
<option value="1">Annual Leave</option>
<option value="2">Sick Leave</option>
<option value="3">No Pay Leave</option>
<option value="4" disabled>Maternity Leave</option>
<option value="5">Adoption Leave</option>
<option value="6">Childcare Leave</option>
<option value="7">Paternity Leave</option>
<option value="8">Shared Parental Leave</option>
<option value="9">Infant Care Leave</option>
<option value="10">Reservist Leave</option>
</select>
<?php
}else {?>
<select class="form-control" id="select" name="leave_option">
<option value="1">Annual Leave</option>
<option value="2">Sick Leave</option>
<option value="3">No Pay Leave</option>
<option value="4">Maternity Leave</option>
<option value="5">Adoption Leave</option>
<option value="6">Childcare Leave</option>
<option value="7">Paternity Leave</option>
<option value="8">Shared Parental Leave</option>
<option value="9">Infant Care Leave</option>
<option value="10" disabled>Reservist Leave</option>
</select>
<?php } ?>
</div>
</div>
<?php } ?>
如有任何帮助,我们将不胜感激。谢谢。
你只能在一个条件下实现,像这样
<select class="form-control" id="select" name="leave_option">
<option value="1">Annual Leave</option>
<option value="2">Sick Leave</option>
<option value="3">No Pay Leave</option>
<option value="4" <?php if($sex == "male") echo "disabled"; ?>>Maternity Leave</option>
<option value="5">Adoption Leave</option>
<option value="6">Childcare Leave</option>
<option value="7">Paternity Leave</option>
<option value="8">Shared Parental Leave</option>
<option value="9">Infant Care Leave</option>
<option value="10" <?php if($sex != "male") echo "disabled"; ?> >Reservist Leave</option>
</select>
是的。你可以使用 if else 但如果你这样写会更有效率
if ($row = mysqli_fetch_assoc($staffQuery)) {
$sex = $row['gender'];
?>
<div class="form-group">
<label for="select" class="col-md-2 control-label">Type of leave </label>
<div class="col-md-2">
<select class="form-control" id="select" name="leave_option">
<option value="1">Annual Leave</option>
<option value="2">Sick Leave</option>
<option value="3">No Pay Leave</option>
<option value="4" <?php echo $sex=="male"?"disabled":"" ?> >Maternity Leave</option>
<option value="5">Adoption Leave</option>
<option value="6">Childcare Leave</option>
<option value="7">Paternity Leave</option>
<option value="8">Shared Parental Leave</option>
<option value="9">Infant Care Leave</option>
<option value="10" <?php echo $sex=="male"?"":"disabled"?>>Reservist Leave</option>
</select>
</div>
</div>
如果您只想显示所需的选项,请按照以下步骤操作:
<select class="form-control" id="select" name="leave_option">
<option value="1">Annual Leave</option>
<option value="2">Sick Leave</option>
<option value="3">No Pay Leave</option>
<?php if($sex == "female"){ ?>
<option value="4">Maternity Leave</option>
<? } ?>
<option value="5">Adoption Leave</option>
<option value="6">Childcare Leave</option>
<option value="7">Paternity Leave</option>
<option value="8">Shared Parental Leave</option>
<option value="9">Infant Care Leave</option>
<?php if($sex == "male"){ ?>
<option value="10">Reservist Leave</option>
<? } ?>
</select>
我已经找到为什么它不能工作了,因为我忘了找回
staff_id
来自 $_SESSION
,因此比较无效。很高兴修复它并能够更有效地完成它 way.Thanks 为您的所有输入。
$getId = $_SESSION['staff_id']; //missing, thus unable to compare
$staffQuery = "SELECT * FROM staff WHERE staff_id = '$getId'";