RE: [PHP] Need some advice concerning forms (multi select pulldown) and arrays
| From: | John Holmes | Date: | Mon, 27 May 2002 13:29:38 +0000 |
| Subject: | RE: [PHP] Need some advice concerning forms (multi select pulldown) and arrays | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-99370@lists.php.net to get a copy of this message | ||
Shouldn't it be
count($_REQUEST['animals'])
and
count($_REQUEST['animals'][2]), etc...
??
---John Holmes...
> -----Original Message-----
> From: Victor Spång Arthursson [mailto:scooterbabe@mac.com]
> Sent: Sunday, May 26, 2002 1:29 PM
> To: holmes072000@charter.net; php-general@lists.php.net
> Subject: Re: [PHP] Need some advice concerning forms (multi select
> pulldown) and arrays
>
> Ok, I can't get this right...
>
> Have the following code:
>
> <?
>
> $choices = array(1 => 'dog', 2 => 'cat', 3 =>
> 'mouse', 4 =>
'frog');
>
> if (is_array($_REQUEST['animals']))
> {
> // get the number of selectcases
> echo "get the number of selectcases: " . count($animals)
.
> "<br>";
>
> // get the number of provided selects from select with
name
> "2"
> echo "get the number of provided selects from select
with name
> \"2\": " . count($animals[2]) . "<br>";
>
> // test to print some data
> echo $animals[2][0]. "<br>";
> echo $animals[2][1]. "<br>";
> echo $animals[2][2]. "<br>";
> echo $animals[2][3]. "<br>";
> }
> ?>
> <form method="post" action="<?= $_SERVER['PHP_SELF']
> ?>">
> <select multiple name="animals[2]">
> <option value='1'>dog</option>
> <option value='2'>cat</option>
> <option value='3'>mouse</option>
> <option value='4'>frog</option>
> </select>
>
> <select multiple name="animals[4]">
> <option value='1'>dog</option>
> <option value='2'>cat</option>
> <option value='3'>mouse</option>
> <option value='4'>frog</option>
> </select>
> <input type="submit"></form>
>
> Why does it not work?
>
> // get the number of selectcases
> echo "get the number of selectcases: " . count($animals)
.
> "<br>";
>
> This works great
>
> // get the number of provided selects from select with
name
> "2"
> echo "get the number of provided selects from select
with name
> \"2\": " . count($animals[2]) . "<br>";
>
> But this doesn't...
>
> Thankful for any help,
>
> /Victor
>
> On Sunday, May 26, 2002, at 05:35 PM, John Holmes wrote:
>
> > You can supply an "whateverID" for the select if you want to.
> >
> > <select name="select[]">
> > <option ...
> > </select>
> >
> > <select name="select[]">
> > <option ...
> > </select>
> >
> > etc...
> >
> > That will give you an array $select[] on the processing page. If the
> > selects are multi-selects, you'll have a multidimensional array. The
> > first chosen element in the first select box can be referenced like
this
> >
> > $select[0][0]
> >
> > You can get a count of how many select boxes there are by doing
> >
> > count($select);
> >
> > You can get a count of how many elements were selected within a
select
> > you can do this:
> >
> > count($select[x]);
> >
> > Where x is the number of the select box you want to know about.
> >
> > Confusing, eh?
> >
> > ---John Holmes...
> >
> >> -----Original Message-----
> >> From: Victor Spång Arthursson [mailto:scooterbabe@mac.com]
> >> Sent: Sunday, May 26, 2002 7:44 AM
> >> To: holmes072000@charter.net
> >> Subject: Re: [PHP] Need some advice concerning forms (multi select
> >> pulldown) and arrays
> >>
> >>
> >> On Sunday, May 26, 2002, at 01:14 PM, John Holmes wrote:
> >>
> >>> Just give each select its own name.
> >>
> >> Can't do that, don't know from time to time how many there'll
be....
> > And
> >> I've to have some case which iterates on the following page...
> >>
> >>> Or name them all the same followed
> >>> by an [] and you'll end up with a multi-dimensional array if
things
> > go
> >>> right...
> >>
> >> Sounds better - but I've a lot of items and I'ld like to know which
of
> >> the arrays that go to which item... Can I just write
> >>
name=array[whateverid] and then in some way reveal the
whateverid's?
> >>
> >> Sincerely
> >>
> >> Victor
> >
> >