Connecting Tech Pros Worldwide Help | Site Map

select data in drop-down box

 
LinkBack Thread Tools Search this Thread
  #1  
Old October 19th, 2006, 02:15 AM
kirke
Guest
 
Posts: n/a
Default select data in drop-down box

I have a two text box and one select box.

two text box will be filled with date values. (in the form of
dd-mm-year)
First text box is called "start date"
Second is "end date"

Thus, I want to put dates between "start date" and "end date" in select
box.

Is there any way to put automatically in option field?
My idea is, first calculate the date difference
and then, add date till startdate + difference.
Thx.


  #2  
Old October 19th, 2006, 03:35 AM
Rik
Guest
 
Posts: n/a
Default Re: select data in drop-down box

kirke wrote:
Quote:
I have a two text box and one select box.
>
two text box will be filled with date values. (in the form of
dd-mm-year)
First text box is called "start date"
Second is "end date"
>
Thus, I want to put dates between "start date" and "end date" in
select box.
>
Is there any way to put automatically in option field?
My idea is, first calculate the date difference
and then, add date till startdate + difference.
It is possible with PHP when that 'start' date and the 'end' date are known
BEFORE the user requests that page. Simply generate all possible dates
between those two values, and commit them to select boxes. If they're not
known, or they cross month or year barriers, you'll have to rely on
javascript to limit the options (and make unlimited options available
without javascript, on a date outside the possibilities you will produce an
error on submitting).

Ofcourse, on submitting, whether javascript is enabled or not, you'll
always have to check start, interim, and end date on submitting to make
sure it's valid.

On HOW to make a date confirm by js, I'd suggest a trip to
comp.lang.javascript.

--
Grtz,

Rik Wasmus


  #3  
Old October 19th, 2006, 04:05 AM
kirke
Guest
 
Posts: n/a
Default Re: select data in drop-down box

assume that I know the start and end date already.
Then How can I generate dates between two dates?


Rik wrote:
Quote:
kirke wrote:
Quote:
I have a two text box and one select box.

two text box will be filled with date values. (in the form of
dd-mm-year)
First text box is called "start date"
Second is "end date"

Thus, I want to put dates between "start date" and "end date" in
select box.

Is there any way to put automatically in option field?
My idea is, first calculate the date difference
and then, add date till startdate + difference.
>
It is possible with PHP when that 'start' date and the 'end' date are known
BEFORE the user requests that page. Simply generate all possible dates
between those two values, and commit them to select boxes. If they're not
known, or they cross month or year barriers, you'll have to rely on
javascript to limit the options (and make unlimited options available
without javascript, on a date outside the possibilities you will produce an
error on submitting).
>
Ofcourse, on submitting, whether javascript is enabled or not, you'll
always have to check start, interim, and end date on submitting to make
sure it's valid.
>
On HOW to make a date confirm by js, I'd suggest a trip to
comp.lang.javascript.
>
--
Grtz,
>
Rik Wasmus
  #4  
Old October 19th, 2006, 06:35 AM
Rik
Guest
 
Posts: n/a
Default Re: select data in drop-down box

kirke wrote:
Quote:
assume that I know the start and end date already.
Then How can I generate dates between two dates?

Well, that should be easy, whipped together something for you (untested):

/* $start & $end = UNIX timestamps
$step = number of second between steps (60*60*24 for dates offcourse)
$format = returned format as in strftime()
$include_limits = boolean wether the start and end dates should be
included */

function generate_dates($start,$end,$step = 86400,$format =
'',$include_limits = false){
$start_i = intval($start);
$end_i = intval($end);
if($start_i!=$start || $end_i != $end){
trigger_error('No valid timestamps given.');
return false;
}
if($start_i $end_i){
trigger_error('Start date is later then End date.');
return false;
}
if(!is_int($step) || $step <= 0){
trigger_error('Step is either not an integer or zero or less.');
return false;
}
$return = array();
if($include_limits({
$return[] = $start;
}
$current = $start_i + $step;
while($current < $end_i){
$return[] = strftime($format,$current);
$current = ($current + $step);
}
if(end($return) < $end_i){
$return[] = $end;
}
return $return;
}

--
Rik Wasmus


 

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 220,989 network members.