SQLPage v0.25.0 documentation

If you are completely new to SQLPage, you should start by reading the get started tutorial, which will guide you through the process of creating your first SQLPage application.

Building an application with SQLPage is quite simple. To create a new web page, just create a new SQL file. For each SELECT statement that you write, the data it returns will be analyzed and rendered to the user. The two most important concepts in SQLPage are components and parameters.

To select a component and set its top-level properties, you write the following SQL statement:

SELECT 'component_name' AS component, 'my value' AS top_level_parameter_1;

Then, you can set its row-level parameters by writing a second SELECT statement:

SELECT my_column_1 AS row_level_parameter_1, my_column_2 AS row_level_parameter_2 FROM my_table;

This page documents all the components provided by default in SQLPage and their parameters. Use this as a reference when building your SQL application. If at any point you need help, you can ask for it on the SQLPage forum.

If you know some HTML, you can also easily create your own components for your application.


The "tab" component

Build a tabbed interface, with each tab being a link to a page. Each tab can be in two states: active or inactive.

Introduced in SQLPage v0.9.5.

Top-level parameters


Whether the tabs should be centered or not. Defaults to false.

Row-level parameters


REQUIRED. Text to display on the tab.


Whether the tab is active or not. Defaults to false.


class attribute added to the container in HTML. It can be used to apply custom styling to this item through css. Added in v0.18.0.


Color of the tab. See preview.tabler.io/colors.html for a list of available colors.


Description of the tab. This is displayed when the user hovers over the tab.


Name of the icon to display on the tab. See tabler-icons.io for a list of available icons.


id attribute added to the container in HTML. It can be used to target this item through css or for scrolling to this item through links (use "#id" in link url).


Link to the page to display when the tab is clicked. By default, the link refers to the current page, with a 'tab' parameter set to the tab's title and hash set to the id (if passed) - this brings us back to the location of the tab after submission.

Example 1

This example shows a very basic set of three tabs. The first tab is active. You could use this at the top of a page for easy navigation.

To implement contents that change based on the active tab, use the tab parameter in the page query string. For example, if the page is /my-page.sql, then the first tab will have a link of /my-page.sql?tab=My+First+tab.

You could then for instance display contents coming from the database based on the value of the tab parameter. For instance: SELECT 'text' AS component, contents_md FROM my_page_contents WHERE tab = $tab

Note that the example below is completely static, and does not use the tab parameter to actually switch between tabs. View the dynamic tabs example.

    'tab' as component;
    'My First tab' as title,
    TRUE           as active;
    'This is tab two' as title;
    'Third tab is crazy' as title;


Example 2

This example shows a more sophisticated set of tabs. The tabs are centered, the active tab has a different color, and all the tabs have a custom link and icon.

    'tab' as component,
    TRUE  as center;
    'Hero'                      as title,
    '?component=hero#component' as link,
    'home'                      as icon,
    'The hero component is a full-width banner with a title and an image.' as description;
    'Tab'                      as title,
    TRUE                       as active,
    '?component=tab#component' as link,
    'user'                     as icon,
    'dark'                     as color;
    'Card'                      as title,
    '?component=card#component' as link,
    'credit-card'               as icon;