我使用foreach循环遍历数组以在下拉列表中显示数据。在我的数据库中,我已经注册了1和5。但是当我运行我的页面时,它只显示数字1.但是,如果我打印数组,我可以看到它包含1和5。
if (is_array($time_of_app) || is_object($time_of_app))
{
foreach ($time_of_app as $key => $value) {
if ($value == 1) {
$val1= '<option value="" disabled>09 00 - 10 00 [BOOKED]</option>';
}else{
$val1 = '<option value="1">09 00 - 10 00</option>';
}
if ($value == 2) {
$val2= '<option value="" disabled>10 00 - 11 00 [BOOKED]</option>';
}else{
$val2 = '<option value="2">10 00 - 11 00</option>';
}
if ($value == 3) {
$val3= '<option value="" disabled>11 00 - 12 00 [BOOKED]</option>';
}else{
$val3 = '<option value="3">11 00 - 12 00</option>';
}
if ($value == 4) {
$val4= '<option value="" disabled>13 00 - 14 00 [BOOKED]</option>';
}else{
$val4 = '<option value="4">13 00 - 14 00</option>';
}
if ($value == 5) {
$val5= '<option value="" disabled>14 00 - 15 00 [BOOKED]</option>';
}else{
$val5 = '<option value="5">14 00 - 15 00</option>';
}
if ($value == 6) {
$val6= '<option value="" disabled>16 00 - 17 00 [BOOKED]</option>';
}else{
$val6 = '<option value="6">16 00 - 17 00</option>';
}
if ($value == 7) {
$val7= '<option value="" disabled>17 00 - 18 00 [BOOKED]</option>';
}else{
$val7 = '<option value="7">17 00 - 18 00</option>';
}
}
}
The screenshot of when the page is run.
P.S:我无法直接截取屏幕截图。屏幕截图显示了下拉以及我获得的值,如果我是printr()我的数组
答案 0 :(得分:0)
在foreach
循环之外设置每个变量($ val1,$ val2等)的值。您可以将变量设置为各自的else'
值。
在foreach
内,只需保留if statements
并删除所有elses
。
这应该可以解决你的问题。