SQLPage v0.20.5 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.

components

The "button" component

A versatile button component do display one or multiple button links of different styles.

Introduced in SQLPage v0.14.0.

Top-level parameters

class

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.

justify

The horizontal alignment of the button list (e.g., start, end, center, between).

shape

Shape of the buttons (e.g., pill, square)

size

The size of the buttons (e.g., sm, lg).

Row-level parameters

color

The color of the button (e.g., red, green, blue, but also primary, warning, danger, orange, etc.).

disabled

Whether the button is disabled or not.

form

Identifier (id) of the form to which the button should submit.

icon

Name of an icon to be displayed on the left side of the button.

id

HTML Identifier to add to the button element.

link

The URL to which the button should navigate when clicked. If the form attribute is specified, then this overrides the page to which the form is submitted.

outline

Outline color of the button (e.g. red, purple, ...)

space_after

Whether there should be extra space to the right of the button. In a line of buttons, this will put the buttons before this one on the left, and the ones after on the right.

title

The text displayed on the button.

Example 1

A basic button with a link

select 
    'button' as component;
select 
    '/documentation.sql' as link,
    'Enabled'            as title;
select 
    '#'        as link,
    'Disabled' as title,
    TRUE       as disabled;

Result

Example 2

A button with a custom shape, size, and outline color

select 
    'button' as component,
    'sm'     as size,
    'pill'   as shape;
select 
    'Purple' as title,
    'purple' as outline;
select 
    'Orange' as title,
    'orange' as outline;
select 
    'Red' as title,
    'red' as outline;

Result

Example 3

A list of buttons aligned in the center

select 
    'button' as component,
    'center' as justify;
select 
    '#'     as link,
    'light' as color,
    'Light' as title;
select 
    '#'       as link,
    'success' as color,
    'Success' as title;
select 
    '#'    as link,
    'info' as color,
    'Info' as title;
select 
    '#'    as link,
    'dark' as color,
    'Dark' as title;
select 
    '#'       as link,
    'warning' as color,
    'Warning' as title;

Result

Example 4

Buttons with icons and different sizes

select 
    'button' as component,
    'lg'     as size;
select 
    '#'     as link,
    'azure' as outline,
    'Edit'  as title,
    'edit'  as icon;
select 
    '#'      as link,
    'danger' as outline,
    'Delete' as title,
    'trash'  as icon;

Result

Example 5

A row of square buttons with spacing in between

select 
    'button' as component,
    'square' as shape;
select 
    '#'     as link,
    'green' as color,
    'Save'  as title;
select 
    '#'      as link,
    'orange' as color,
    'Cancel' as title,
    TRUE     as space_after;
select 
    '#'       as link,
    'indigo'  as outline,
    'Preview' as title;

Result

Example 6

Multiple buttons sending the same form to different pages.

We use '' AS validate to remove the submit button from inside the form itself, and instead use the button component to submit the form to pages with different GET variables.

In the target page, we could then use the GET variable $action to determine what to do with the form data.

select 
    'form' as component,
    'poem' as id,
    ''     as validate;
select 
    'textarea'     as type,
    'Poem'         as name,
    'Write a poem' as placeholder;
select 
    'button' as component;
select 
    '?action=save' as link,
    'poem'         as form,
    'primary'      as color,
    'Save'         as title;
select 
    '?action=preview' as link,
    'poem'            as form,
    'yellow'          as outline,
    'Preview'         as title;

Result

Official SQLPage documentation