Database Relational List
Dreamweaver Extension for MX and later versions
Database Relational List is an extension for Adobe Dreamweaver that allows you to associate two lists or comboboxes, and obtain options of those lists from a database. Database Relational List requires MySQL as database handler and support for PHP Script on the web server.
Database Relational List defines two lists, the main list and the subordinate list. The main list is populated after downloading the web page where it is inserted. The subordinate list remains empty until you select an option in the main list; at this time, only the records associated with the option selected in the main list are read from the database.
This mechanism of selection and display of associated records reduces bandwidth consumption on the website, but also compartmentalizes information by showing only those data that are associated with the customer's action.
Database Relational List is highly adaptable to different database structures; user defines queries to the database for both the main list and the subordinate list.
- Easy to insert into a website. It is developed as an extension for Adobe Dreamweaver and has an intuitive setup window which is why it does not require an advanced knowledge of web development.
- It is developed on the basis of PHP scripts and MySQL, both technologies are the most popular among web hosting servers.
- Data loading on demand. The main list's options are obtained when the web page finish downloading, while subordinate list's options are obtained only when an option from the main list is selected, thus allowing faster loading time of your webpage. To obtain list's options we use AJAX technologies, thereby avoiding constant refreshing of the webpage.
- Adobe Dreamweaver MX or later version.
- MySQL database manager.
- PHP Script Support on the web server.
You can select an option in the main menu and view as the subordinated menu is updated.
Please, check this Database Relational List Demo (Animated Flash/Video)
You can find more about in our Database Relational List - FAQ.
Database Relational List is distributed as an extension for Adobe Dreamweaver MX or later versions packaged in a file named DBRelationalList.mxp. To install, just execute that file or use the Adobe Extension Manager tool.
Once installed, the extension "Database Relational List" can be accessed (after restarting Dreamweaver) through the menu option "Insert > Form > Insert Database Relational List / Menu" or through "InsertBar > Form > Insert Database Relational List / Menu."
When you run the option "Insert Database Relational List / Menu" (via the route described under "Installation") a setup window will be displayed to define access data for the database, as well as the identifiers for each list and queries to the database to obtain list options.
Data to connect to the database
Hostname: Domain name or IP address of the database server.
Database: Name of the database to connect to.
Username: Username for connecting to the database.
Password: Password for connection to the database.
Data related to the lists (these data should be entered for both the main and the subordinate list)
List Name / ID: Identifier of the list. This identifier must be unique within the website and will serve as the field identifier when doing a submit of the webpage.
Query: Query to the database to obtain the list's options.
Note: For the main list the query will be executed once the website is fully downloaded by the web browser. In case of subordinate list, the query will be executed when one of the main list's options has been selected. This query will receive a parameter, equivalent to the value of the option selected in the main list in order to filter the database records.
Select by default: Value of the option to be selected by default once the list is populated.
Once the Database Relational List is inserted into the website, a folder named "db_relationallist" is automatically generated at the root of the website, with all the code necessary for the correct functioning of the extension. The folder "db_relationallist" and the modified web page must be published on the website.
Inside the "db_relationallist" you will find the folder called "connections" with the setup file, named "resources.php" for each pair of relational lists inserted in the website. If you change any of the connection data in the database, it will be necessary to update the data in the setup files related to that database.
Database query formats
Queries to the database, set to generate list options, must comply with some simple features in their structure.
SELECT column_A alias value, column_B alias text FROM table_name
In the above query, pay special attention to the use of aliases, the column the alias of which is "value" will be associated with the "value" attribute in the list options. The column the alias of which is "text" will be associated with the "text" of the options. It is necessary to define the columns that participate in the generation of options.
In case of a query defined to generate the options shown in the subordinate list, there is an additional requirement. The options shown in the subordinate list are determined by the option selected in the main list. The query must include the WHERE clause where the outcome of the query will be filtered by the value of the option selected in the main list.
SELECT column_A alias value, column_B alias text FROM table_A WHERE id_table_B = %s
Pay special attention to the %s string : when the query is executed, this string is replaced by the value of the option selected in the main list.
Note: The queries above are just an example, they can be of any valid format for a query to a MySQL database, but must comply with the restriction of the aliases in order to determine the data to be used in the generation of relational list's options, also, the %s string must be present in the WHERE clause of the query that obtains results for the subordinate list, which will then allow to filter the records related to the option selected in the main list.