SQLPage v0.20.4 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.
- components are small user interface elements that you can use to display your data in a certain way.
- top-level parameters are the properties of these components, allowing you to customize their appearance and behavior.
- row-level parameters constitute the data that you want to display in the components.
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 "table" component
A table with optional filtering and sorting. Unlike most others, this component does not have a fixed set of item properties, any property that is used will be rendered directly as a column in the table. Tables can contain rich text, including images, links, and icons. Table rows can be styled with a background color, and the table can be made striped, hoverable, and bordered. Advanced users can apply custom styles to table columns using a CSS class with the same name as the column, and to table rows using the `_sqlpage_css_class` property.
Top-level parameters
align_right
border
class
description
hover
icon
id
markdown
search
small
sort
striped_columns
striped_rows
Row-level parameters
_sqlpage_color
_sqlpage_css_class
Example 1
The most basic table.
select
'table' as component;
select
1 as a,
2 as b;
select
3 as a,
4 as b;
Result
a | b |
---|---|
1 | 2 |
3 | 4 |
Example 2
A table of users with filtering and sorting.
select
'table' as component,
TRUE as sort,
TRUE as search;
select
'Ophir' as Forename,
'Lojkine' as Surname,
'lovasoa' as Pseudonym;
select
'Linus' as Forename,
'Torvalds' as Surname,
'torvalds' as Pseudonym;
Result
Ophir | Lojkine | lovasoa |
Linus | Torvalds | torvalds |
Example 3
A table that uses markdown to display links
select
'table' as component,
'Documentation' as markdown,
'icon' as icon,
TRUE as sort,
TRUE as search;
select
'table' as icon,
'Table' as name,
'Displays SQL results as a searchable table.' as description,
'[docs](documentation.sql?component=table)' as Documentation,
'red' as _sqlpage_color;
select
'timeline' as icon,
'Chart' as name,
'Show graphs based on numeric data.' as description,
'[docs](documentation.sql?component=chart)' as Documentation;
Result
Example 4
A table with numbers
select
'table' as component,
TRUE as search,
TRUE as sort,
'Price ($)' as align_right,
'Amount in stock' as align_right;
select
31456 as id,
'MIC-ROCC-F-23-206-C' as part_no,
12 as "Price ($)",
5 as "Amount in stock";
select
996 as id,
'MIC-ROCC-F-24-206-A' as part_no,
1 as "Price ($)",
15 as "Amount in stock";
select
131456 as id,
'KIB-ROCC-F-13-205-B' as part_no,
127 as "Price ($)",
9 as "Amount in stock";
Result
31456 | MIC-ROCC-F-23-206-C | 12 | 5 |
996 | MIC-ROCC-F-24-206-A | 1 | 15 |
131456 | KIB-ROCC-F-13-205-B | 127 | 9 |
Example 5
A table with some presentation options
select
'table' as component,
TRUE as hover,
TRUE as striped_rows,
'Some Star Trek Starfleet starships' as description,
TRUE as small;
select
'USS Enterprise' as name,
'NCC-1701-C' as registry,
'Ambassador' as class;
select
'USS Archer' as name,
'NCC-44278' as registry,
'Archer' as class;
select
'USS Endeavour' as name,
'NCC-06' as registry,
'Columbia' as class;
select
'USS Constellation' as name,
'NCC-1974' as registry,
'Constellation' as class;
select
'USS Dakota' as name,
'NCC-63892' as registry,
'Akira' as class;
Result
name | registry | class |
---|---|---|
USS Enterprise | NCC-1701-C | Ambassador |
USS Archer | NCC-44278 | Archer |
USS Endeavour | NCC-06 | Columbia |
USS Constellation | NCC-1974 | Constellation |
USS Dakota | NCC-63892 | Akira |