FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » problem saving date fields
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: problem saving date fields [message #174071 is a reply to message #174052] Fri, 20 May 2011 22:58 Go to previous messageGo to previous message
Jeff North is currently offline  Jeff North
Messages: 58
Registered: November 2010
Karma:
Member
On Fri, 20 May 2011 11:38:06 -0700 (PDT), in comp.lang.php Co
<vonclausowitz(at)gmail(dot)com>
<2407eb47-b406-432c-9aed-b76abc94aae9(at)z37g2000vbl(dot)googlegroups(dot)com>
wrote:

> | Hi All,
> |
> | I have two date fields.
> | When I change of them the other one gets set back to default:
> | 00-00-0000
> | I have to save both to make it work. Is there a solution for this?
> |
> | The arrival_date and departure_date are build up like this:
> |
> | <select name="arrival_day" class="formFields" id="arrival_day">
> | <option value="<?php print "$arrival_day"; ?>"><?php print
> | "$arrival_day"; ?></option>
> | <option value="01">1</option>
> | <option value="02">2</option>
> | <option value="03">3</option>
> | <option value="04">4</option> etc......
> |
> | <select name="arrival_month" class="formFields" id="arrival_month">
> | <option value="<?php print "$arrival_month"; ?>"><?php print
> | "$arrival_month"; ?></option>
> | <option value="01">January</option>
> | <option value="02">February</option>
> | <option value="03">March</option>
> | <option value="04">April</option> etc......
> |
> | <select name="arrival_year" class="formFields" id="arrival_year">
> | <option value="<?php print "$arrival_year"; ?>"><?php print
> | "$arrival_year"; ?></option>
> | <option value="2011">2013</option>
> | <option value="2011">2012</option>
> | <option value="2011">2011</option>
> | <option value="2010">2010</option> etc......

How are you setting the $arrival_* and $depature_* values?

If this is a new entry then all of the $arrival_* and $depature_* will
be null or zero - therefore the select options will not be
automatically selected (View Source of the page to see if there are
any error messages within these lists).

You might want to initialise the values by:
$arrival_day = $depature_day = date('j');
$arrival_month = $depature_month = date('n');
$arrival_year = $depature_year = date('Y');

If you read a record from the database then you would over write the
above values. This will ensure that correct values within the select
lists are automatically selected.

> | The table is updated like this:
> |
> | $arrival_month = preg_replace('#[^0-9]#i', '',
> | $_POST['arrival_month']);
> | $arrival_day = preg_replace('#[^0-9]#i', '',
> | $_POST['arrival_day']); // filter everything but numbers
> | $arrival_year = preg_replace('#[^0-9]#i', '',
> | $_POST['arrival_year']); // filter everything but numbers
> | $arrival_date = "$arrival_year-$arrival_month-$arrival_day";
> |
> | $departure_month = preg_replace('#[^0-9]#i', '',
> | $_POST['departure_month']);
> | $departure_day = preg_replace('#[^0-9]#i', '',
> | $_POST['departure_day']); // filter everything but numbers
> | $departure_year = preg_replace('#[^0-9]#i', '',
> | $_POST['departure_year']); //
> | $departure_date = "$departure_year-$departure_month-$departure_day";

You are assuming that items within the listboxs have been selected
(normally this the case only if the initial setup is correct).
You should use
$arrival_day = ( isset( $_POST['arrival_day'] ) ?
intval($_POST['arrival_day']) : 0;
if( $arrival_day == 0 ) { $pageError = "Invalid arrival day number";}

I also assume that you are checking that you can't arrive before you
depart :-)

> | $sqlUpdate = mysql_query("UPDATE myMembers SET
> | firstname='$firstname', lastname='$lastname', gender='$gender',
> | partner='$partner', country='$country', rank='$rank',
> | service='$service', position='$position',
> | arrival_date='$arrival_date',departure_date='$departure_date' WHERE
> | id='$id' LIMIT 1");
> |
> | Is there a reason why this happens? I do create the right format to
> | put the data back in the table.

But are the values your setting the ones you expect?


-- --------------------------------------------------------------
Anything But Marriage, perversely, turns one of the country's
more culturally visible minorities into an advertisement for just
how cool and successful life outside of wedlock can be.

http://www.theatlantic.com/issues/2002/05/rauch.htm
-- --------------------------------------------------------------
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: is dis da place?
Next Topic: foreach in reverse
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Fri Sep 20 15:38:33 GMT 2024

Total time taken to generate the page: 0.05593 seconds