[FX.php List] Conditional value lists with PHP and FileMaker
Steve Winter
steve at bluecrocodile.co.nz
Wed Nov 19 09:58:58 MST 2008
Hi Anders...
Doesn't sound like a very user-friendly database structure that you're
stuck with...!! clearly the concept of 'relational' was lost on the
original builder...
I've done a similar type of thing... originally I used JavaScript and
built large JavaScript arrays to hold all of the data... everything
but the first dropdown 'locked', when a selection was made from that I
populated the second drop-down (using JavaScript) and made it active,
and so on across the table...
My second version used Ajax to do basically the same thing, however in
both instances I was working from relational data which certainly
makes things easier...
I'd be more than happy to take a look at your code and see if I can
make any suggestions for improvement if you're interested... feel free
to send it to me off-list... (I have no idea what ggt was saying ;-)
Cheers
Steve
On 19 Nov 2008, at 16:46, Anders Monsen wrote:
> Has anyone on the list worked on this issue? I spent most of
> yesterday putting together a process that works, but may not be the
> most efficient process. I was wondering if anyone would be open to
> looking at my code (the snippet is 130 lines long at minimum, so I
> didn't just want to throw it out there) to see if there are ways I
> can improve the process. It certainly made me appreciate how easy
> FileMaker makes this process...
>
> (I just discovered and read Jonathan Stark's article in July
> FileMakerAdvisor after writing this email. It uses Ajax, so I may
> try to incorporate his techniques, although I'm using FX.php and no
> existing value lists from FileMaker, just existing data.)
>
> Here's the scenario. I have a table with four fields: district
> number, district name, campus number, and campus name. I want the
> district and campus to be drop down menus, where the user sees the
> name but submits the number into another FileMaker database/table.
> Also, when the user selects a district, I need the value list of
> campuses to correspond just to their appropriate district.
>
> My first issue was to find a way to create an associative array with
> district numbers=>district names. Apparently I took the hard route
> in dynamically building associative arrays... After several failed
> attempts, I used a function that I found on php.net in the section
> on "array_push" to create this array. The first problem I ran into
> was that the list currently contains 270 records. For now I had to
> manually change the groupsize in the query to above 300, but I plan
> to first query all records to get a count, then make this the
> groupsize. The reason for this is that the district array becomes
> unique only after all records have been loaded into the array, so
> the default groupsize of 50 has to be modified.
>
> Is there a way to 1) build a better array and 2) make the district
> array unique in the initial query? The database is structured as one
> file, with all four fields, and so the district numbers and names
> are repeated. I didn't create the database, and I can't change it.
> Distnum | Distname | CampusNum | Campus Name
> 10 The ISD 2 School
> 10 The ISD 2.1 OtherSchool
> etc.
>
> Additionally, after several failed attempts to get the Javascript
> onchange function to work when the form changed, I resorted to
> DreamWeaver's JumpMenu, which seems to work fine. Has anyone been
> able to get a working onchange form and what is the correct syntax?
> When the user selects a district from the dropdown, the page reloads
> with the district number in the URL.
>
> Given all of the above, my process *does* work, and the page does
> not appear to load with delays. I have not used conditional values
> lists with PHP/Javascript in about three years, so I am a little
> unsure of best practices.
>
> Thanks,
> Anders
> _______________________________________________
> FX.php_List mailing list
> FX.php_List at mail.iviking.org
> http://www.iviking.org/mailman/listinfo/fx.php_list
More information about the FX.php_List
mailing list