【问题标题】:Select box: how to populate days php选择框:如何填充天数 php
【发布时间】:2012-02-21 05:10:24
【问题描述】:

最近我问how to populate years,我认为我有我需要的所有答案。事情是我有一个新的问题与天。问题似乎更多的是mysql而不是php。在我的表用户生日字段中,我将“日期”作为这种格式的类型:0000-00-00。现在,当我使用当前选择框“day”时,它会插入 2 而不是 02,然后当我加入 $year.$month.$day 给我并输出 1988-11- 时会破坏整个格式。我该如何解决这个问题?这是天的代码(年份类似,在上面的链接中)。谢谢

<? 
$bday = $r['birthday'];
$part = explode("-", $bday);
$year = $part[0];
$month = $part[1];
$day = $part[2]; ?>
<select name="day">
    <? for($i = 1; $i <= 31; $i++){?>
    <option value="<? echo $i. '"'; if ($day == $i) {echo 'selected="selected"';}?>"><?echo $i;?></option>  <? }?>
</select>

【问题讨论】:

  • 哦,我现在无法更改 mysql 类型,因为它已经有了真实的用户信息

标签: php mysql drop-down-menu


【解决方案1】:

你可以试试

$bday = $r['birthday'];
$part = explode("-", $bday);
$year = $part[0];
$month = $part[1];
$day = $part[2]; ?>
<select name="day">
    <? for($i = 1; $i <= 31; $i++){?>
    <option value="<? echo str_pad($i, 2, "0", STR_PAD_LEFT) . '"'; if ($day == $i) {echo 'selected="selected"';}?>"><?echo str_pad($i, 2, "0", STR_PAD_LEFT);?></option>  <? }?>
</select>

【讨论】:

  • 工作得很好,哈哈从来不知道str_pad,我想我需要阅读更多的php man。谢谢
  • 您可以从这里进一步学习。 php.net/manual/en/function.str-pad.php。祝朋友好运。
【解决方案2】:
<select name="day">
    <? for($i = 1; $i <= 31; $i++){?>
    <option value="<? echo ($i < 10 ? '0' . $i : $i). '"'; if ($day == $i) {echo 'selected="selected"';}?>"><?echo $i;?></option>  <? }?>
</select>

【讨论】:

    猜你喜欢
    • 2012-11-27
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    相关资源
    最近更新 更多