Hi,

I am about to get started on this and would appreciate any inputs from the community.

Problem: I've got a database that is to be accessed by relatively unsophisticated Web users.

The requirement is that users be able to select on a SIMPLE Web form how they'd like to see the data, e.g., which columns they might be interested in, the order of columns across the page, range of rows to include on the page (including wild card capability) --- you get the general picture. The task is to build an interface that is intuitively obvious to the man (or woman) on the street.

Questions: What are the most appropriate technologies to use to implement this? What is a good (and bad!) way to start?

Assume PHP and MySQL reside on the server.

Thanking you folks in advance,

Have a Happy New Year!

Rick

    I assume that you are familiar enough with databases and php
    I have only three simple but important opinions to offer...

    have only a few buttons or links... users get confused when they see too much in their screens (I once heard that 7 options in a menu is the maximum a human brain can easily remember)

    Always keep links to the pages you want the users to visit most

    Give a lot of importance in the colors you choose! Try to choose relaxing combinations

      I would do this by taking the users through various simple stages but overall provide a sophistcated tool that would be quick to learn.

      The stages I would choose (and these would be on separate pages in order) are:

      1. Select the fields required - use a simple list with check boxes

      2. Select the order for the fields/columns - use a list with text boxes to allow 1,2,3,4, etc.

      3. Allow query by example on fields - a list of fields with the ability to enter wildcard values (keep this simple but if you want have an 'advanced' screen button)

      4. Display the data but allow sorting on columns by clicking the column heads (this is very common on the net). Again you could have an advanced screen which allows multiple column sorting ascending and descending.

      Remember to use lots of alts for explanation of buttons and links. And have a pop-up help box for each stage.

      Above all keep the basic flow simple so that at all times dummies only have to deal with one or two (at the most) concepts. Allowing users to choose to try advanced functions for themselves gives them the power.

      Later you can add a feature to save queries for later use.

      I would also add a download function that allows them to download copies of data. With powerful tools like this there will be a tendency for more data to be accessed than is required (despite the fact that you are providing every which way to cut it down) so give them the option to get the data abd payl with it off line.

        Sound like phpmyadmin.com can help you.

          I would agree but for the need to support 'unsophisticated' users. PHPmyadmin is a fantastic tool for developers and (possibly) experienced and knowledgable users. It is not a tool I would unleash on the average surfer - it just has far too much and assumes almost developer level knowledge.

            Thank you for the helpful suggestions.

            The data I've got consists of around a dozen columns, of which only about six would be useful to the average user. Do you think something like a user-selection via a check mark on top of each desired column would work? I could store that in a cookie.

            With rows I could have from/to dates selected by the user (that's intuitive enough) and build in the capability to scan across the multiple pages of output. That's intuitive, I guess, with the right navigation cues.

            Question: Is there a clever way to use JavaScript (is this the wrong forum or what?) to permit simply clicking on a PHP-generated HTML table entry and have the data become part of a MySQL query string?

            Having the columns selected, the from/to dates, and "only show records with this string in them" would solve the problem.

            Thanks again all,

            Rick

              I don't really see a need for javascript here. Keep the query building server side with php and use forms or php generated links to talk with your 'engine'. If you can use php to do cookies then you can use them to store current options as the user continues to play with the data. Actually I always favour storing persistent data in the db, rather than using cookies, but its a personal preference harking back to the days when cookies were so flakey.

              😉

                hi crislewis,

                Appreciate the valuable inputs.

                Thanks,

                Rick

                  Write a Reply...