Php 选项中的默认值
我创建了一个html表单,其中包含了包含月份天数的选项。当我想将今天的日期设置为在页面上加载时选择的日期时,问题就出现了。 我有这个代码,但它不工作,只是显示今天和其他日子的一个月已经过去了Php 选项中的默认值,php,forms,html-select,options,Php,Forms,Html Select,Options,我创建了一个html表单,其中包含了包含月份天数的选项。当我想将今天的日期设置为在页面上加载时选择的日期时,问题就出现了。 我有这个代码,但它不工作,只是显示今天和其他日子的一个月已经过去了$day1是“按日期”功能的今天日期 <select id="day" name="day"> <?php for ($i=1 ; $i<32 ; $i++){ if($i == $day1){?> <option value="<?
$day1
是“按日期”功能的今天日期
<select id="day" name="day">
<?php for ($i=1 ; $i<32 ; $i++){
if($i == $day1){?>
<option value="<?php echo $i ?>" selected> <?php echo $i ?></option>
<?php}else{ ?>
<option value="<?php echo $i ?>" > <?php echo $i ?></option>
<?php }} ?>
</select>
尝试在PHP开始标记和“}else{”之间添加一个空格。这对我很有用:
<?php
$day1=date('d');
?>
<select id="day" name="day">
<?php for ($i=1 ; $i<32 ; $i++){
if($i == $day1){?>
<option value="<?php echo $i; ?>" selected> <?php echo $i; ?></option>
<?php }else{ ?>
<option value="<?php echo $i; ?>" > <?php echo $i; ?></option>
<?php }} ?>
</select>
使用内联IF+echo和点运算符很容易实现
<select id="day" name="day">
<?php
$day1=date('d');
for ($i=1 ; $i<32 ; $i++){
echo '<option value="'.$i.'" '. ($i == $day1 ? 'selected' : '') . '>'.$i.'</option>';
}
?>
</select>
其他日子都过去了,因为你没有回应
<select id="day" name="day">
<?php $day1=date('d'); ?>
<?php for ($i=1 ; $i<32 ; $i++){
if($i === $day1){?>
<option value="<?php echo $i ?>" selected> <?php echo $i ?></option>
<?php }else{ ?>
<?php echo '<option value="'.$i.'">'.$i.'</option>'; ?>
<?php }} ?>
</select>
$day1是日期函数中的日期。
$day1的值到底是什么?显示设置此值的代码。$day1=date('d');很抱歉:)这是一个月中的一天,如21或3使用var\u dump($i=$day1);
在if
之前,查看它是否显示除false
以外的内容。如果您看到true
,则可能是浏览器问题。非常感谢..通过这一点我熟悉了点运算符..谢谢,似乎开始标记后面必须有空格。但是,结束标记似乎不在同样的规则。谢谢你@Avalanche.。如果你读了puni提供的答案。