Advanced Database Relational List is an extension for Adobe Dreamweaver that allows you to associate multiple lists or comboxes, obtaining list options from a database. Advanced Database Relational List requires MySQL as database manager and support for PHP script on your web server.
You can select an option in a menu and view as the other menus are updated.
Advanced Database Relational List is based on Database Relational List extension, allowing to insert one or more interrelated lists, which are populated from the data stored in a database.
Note: Database Relational List allows to insert two associated lists, while Advanced Database Relational List does not limit the amount of related lists.
The lists generated with the Advanced Database Relational List are dependent on each other serially, i.e., the options shown in the first subordinate list depend on the option selected in the main list, the options shown in the second subordinate list depend on the option selected in the first selected list, and so forth.
The process of populating of lists in the Advanced Database Relational List is performed as follows: the main list is populated once the webpage, where it is inserted, is fully loaded. Subordinate lists remain empty until some of the already populated options are selected, in which case, only the records associated with the selected options are read from the database.
This mechanism of selection and display of associated records reduces the consumption of bandwidth on the website and compartmentalizes information by showing only those data that are associated with the user’s action.Advanced Database Relational List is very adaptable to different database structures, the user can enter the data required to create queries to the database by the extension, but if the structure of the database is complex, queries can be defined directly.
Advanced Database Relational List is distributed as an extension for Adobe Dreamweaver MX or later versions, packed in a file named DBRelationalListAdv.mxp.
To install, simply run the Adobe Extension Manager and press the menu option "File > Install Extension", an action that displays a dialog to select the file extension.
Note: If Adobe Dreamweaver application was running when the extension was installed, it is necessary to restart the application.
Once installed, the extension Advanced Database Relational List may be accessed (after restarting Dreamweaver) through the menu option "Insert > Form > Insert Database Relational List / Advanced Menu" or via "Insert Bar > Form > Insert Database Relational List / Menu Advanced ".
When you run the "Insert Database Relational List / Menu Advanced" (via the route described under “Installation”) you will see a setup window to define your database access data, define the identifier of each list and queries to the database to obtain list options.
Data for connection to the database.
Hostname: Domain name or IP number of the database server.
Database: Name of the database to connect to.
Username: User name to connect to the database.
Password: Password to connect to the database.
Data related to the lists (these data should be entered for both the main list, and for subordinate lists).
List Name / ID: ID of the list. This identifier must be unique within the website and will be the field’s identifier when you do a submit of a web page.
Enter Table Name: Name of the table in the database that stores the list’s data.
Enter Text Field: Name of the column in the table that stores the text of list’s options.
Enter Field Value: Name of the column in the table that stores the values of list’s options.
Query: The query to the database can be generated by the extension by defining the fields "Table Name", "Text Field", "Value Field" (and in case of subordinate lists the "Filtered Field") or the query can be defined explicitly through this field, which has precedence over the rest of the mentioned fields. That means that if a user enters a value in the Query field, the value in the remaining query generating fields will become irrelevant.
Note: In case of a subordinate list, a query will receive a parameter, equivalent to the value of the option selected in the list to which it is subordinated, to filter the records in the database.
Select by default: value of the option to be selected by default once the list is populated.
The button "Add Subordinate List" allows definition of subordinate lists, pressing it displays fields for entry of the subordinate list data.
After entering the data of a subordinate list, press "Accept"; this action adds the new subordinate list to the list on the left.
To modify the data in a subordinate list, simply select the list on the left and the fields will be shown with the corresponding data.
To delete a subordinate list simply select it in the list on the left and press the button "Remove The Subordinate List".
Once the insertion of an Advanced Database Relational List in a website is complete, a folder "db_relationallist_advanced" is automatically created at the root of your website with all the code necessary to run the extension. The folder "db_relationallist_advanced" and the modified web page must be published onto your web server.
Inside "db_relationallist_advanced" folder, there is a "connections" folder, which contains a setup file, named "resources.php" for each pair of related lists inserted into the website. If you change any of the connection data in the database, it will be necessary to update these data in config files related to that database.
Database query formats
Queries to the database, defined to generate the options of the lists, must comply with some simple requirements in their structure.
Select column_A as value, column_B as text FROM table_name
In the query above, pay special attention to the use of "alias", the column whose alias is "value" will be associated with the attribute "value" in the list’s options. The column whose alias is "text" will be associated with the text of the options. It is necessary to define the columns that participate in generating options.
In case of a query defined to generate the options shown in the subordinate lists, there is an additional requirement. The options displayed in the subordinate list are determined by the option selected in the main list. The query must have a WHERE clause where the outcome of the survey will be filtered by the value of the option selected in the main list.
SELECT column_A as value, column_B as text FROM table_A WHERE id_table_B =%s
Pay special attention to the %s, this string is replaced by the value of the option selected in the main list in the execution of the query.Note: queries shown above are just an example. Any valid format for a query using a MySQL database can be used, but it has to comply with the restriction of aliases in order to determine the data to be used in the generation of the related lists’ options, and the %s must be present in the WHERE clause of the query which obtains results for subordinate lists. That will allow to filter the related records by the option selected in the main list.