download92000
download92000
2014-10-21 21:07

HTML / php表中的MySql datetime字段仅显示使用表单时的日期

已采纳

I have a datetime MySql field named down_stamp that I have populating an HTML table via php:

<? $sql_el = "SELECT * FROM events WHERE loc_id = '$lid'";
$result_el = mysql_query($sql_el);
while ($row_el = mysql_fetch_array($result_el)) {
?>
<tr>
  <td><?=$row_el['down_stamp']?></td>
</tr>
</form>
<? } ?>

This produces results in the format I'd like: 2013-09-15 08:30:00. However, I'd like to make this field modifiable, so if I just convert it into a form element like this:

<form name="fm_editevent" method="post">
<tr>
  <td><input name="down_stamp_ed" required="required" value=<? echo $row_el['down_stamp']; ?> type="text"></td>
  <td><input value="Update" type="submit" name="update_el"></td>     
</tr>
</form>
<? } ?>

Then the down_stamp field only displays the date: 2013-09-15. I don't think it's a width issue as there's plenty of room in the text box. I tried adding <td width=100> (twas a guess). I also tried to declare the time in php when expanding the variable, which just gave me an error and the date 1970-01-01 01:33:33

<td><input name="down_stamp_ed" required="required" value=<? echo date("Y-m-d H:i:s", $row_el['down_stamp']);?> ></td>

How can I get the full datetime field data to echo in this form text box?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • dousaoxiancy199896 dousaoxiancy199896 7年前

    You missed the quotation marks...

    Use:

    <td><input name="down_stamp_ed" required="required" value="<? echo $row_el['down_stamp']; ?>" type="text"></td>
    

    (without the quotation marks the result would look like this:

    <td><input name="down_stamp_ed" required="required" value=2013-09-15 01:33:33 type="text"></td>
    

    and just because you're lucky your browser interprets "2013-09-15" as the value of the field ;-)

    点赞 评论 复制链接分享
  • dongxie548548 dongxie548548 7年前

    You need quote the value attribute, e.g:

    echo "< .... value=\"$date_from_db\">";
    

    Without them, you're generating

    ... value=2014-10-21 15:16:00
    

    which is parsed as an attribute "value" whose value is 2014-10-21, and an unknown/illegal attribute "15:16:00".

    点赞 评论 复制链接分享
  • dqcd84732 dqcd84732 7年前

    You need to wrap value in " :

    <form name="fm_editevent" method="post">
    <tr>
      <td><input name="down_stamp_ed" value="<? echo $row_el['down_stamp']; ?>" type="text" required></td>
      <td><input value="Update" type="submit" name="update_el"></td>     
    </tr>
    </form>
    <? } ?>
    
    点赞 评论 复制链接分享