browse_box
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
browse_box [2024/12/02 03:38] – [Column Alignment] wtkadmin | browse_box [2024/12/02 04:14] (current) – added php to code tags wtkadmin | ||
---|---|---|---|
Line 5: | Line 5: | ||
As an example of the simplest use, these few lines create a fully functioning page by calling **wtkFillBrowsePage** which is a wrapper for both **wtkBuildDataBrowse** and **wtkMergePage**. | As an example of the simplest use, these few lines create a fully functioning page by calling **wtkFillBrowsePage** which is a wrapper for both **wtkBuildDataBrowse** and **wtkMergePage**. | ||
- | < | + | < |
<?php | <?php | ||
$gloLoginRequired = false; | $gloLoginRequired = false; | ||
Line 21: | Line 21: | ||
This assumes you have `UID`, `id` or `GUID` in your SQL query because that value will be passed to the Edit or Delete page for determining which row to affect. | This assumes you have `UID`, `id` or `GUID` in your SQL query because that value will be passed to the Edit or Delete page for determining which row to affect. | ||
- | < | + | < |
SELECT `pet_id` AS `UID`, `pet_name` | SELECT `pet_id` AS `UID`, `pet_name` | ||
FROM `pets` | FROM `pets` | ||
Line 30: | Line 30: | ||
With the WTK library, usually the Add page uses the same PHP page as the Edit page. So although you can have the Add button go anywhere, most of the time you will define them as such: | With the WTK library, usually the Add page uses the same PHP page as the Edit page. So although you can have the Add button go anywhere, most of the time you will define them as such: | ||
- | < | + | < |
$gloEditPage = '/ | $gloEditPage = '/ | ||
$gloAddPage | $gloAddPage | ||
Line 41: | Line 41: | ||
For example, in the `pets` demo table we use the `DelDate` logic so the delete functionality is defined as: | For example, in the `pets` demo table we use the `DelDate` logic so the delete functionality is defined as: | ||
- | < | + | < |
$gloDelPage = ' | $gloDelPage = ' | ||
</ | </ | ||
Line 51: | Line 51: | ||
These extra buttons will be put to the between the Edit button and the Delete button. | These extra buttons will be put to the between the Edit button and the Delete button. | ||
- | < | + | < |
$gloMoreButtons = array( | $gloMoreButtons = array( | ||
'User Logins' | 'User Logins' | ||
Line 74: | Line 74: | ||
In the above example, the 'User Logins' | In the above example, the 'User Logins' | ||
- | < | + | < |
<a onclick=" | <a onclick=" | ||
| | ||
Line 84: | Line 84: | ||
- | ===== Conditional Edit and Delete | + | ==== Conditional Edit and Delete ==== |
If you want only some rows to have the Edit button, this can be done by defining a column and the conditional data required to be allowed to edit. | If you want only some rows to have the Edit button, this can be done by defining a column and the conditional data required to be allowed to edit. | ||
Line 90: | Line 90: | ||
For example, if you only wanted to allow wtkUsers with a SecurityLevel of 80 to be allowed to edit, you would add these two lines before the call to **wtkBuildDataBrowse**. | For example, if you only wanted to allow wtkUsers with a SecurityLevel of 80 to be allowed to edit, you would add these two lines before the call to **wtkBuildDataBrowse**. | ||
- | < | + | < |
$gloEditCondCol | $gloEditCondCol | ||
$gloEditCondition | $gloEditCondition | ||
Line 97: | Line 97: | ||
Likewise, you can set a condition on Delete button displaying by setting the following PHP variables. | Likewise, you can set a condition on Delete button displaying by setting the following PHP variables. | ||
- | < | + | < |
$gloDelCondCol | $gloDelCondCol | ||
$gloDelCondition | $gloDelCondition | ||
</ | </ | ||
+ | ===== Printing Mode ===== | ||
+ | |||
+ | If the page is in printing mode or the data is being exported, then the Add, Edit and Delete buttons will not be displayed. | ||
+ | |||
+ | <code php> | ||
+ | $gloPrinting = true; | ||
+ | </ | ||
===== Column Alignment ===== | ===== Column Alignment ===== | ||
All columns will be left justified by default. | All columns will be left justified by default. | ||
- | < | + | < |
$gloColumnAlignArray = array ( | $gloColumnAlignArray = array ( | ||
' | ' | ||
Line 117: | Line 124: | ||
Choosing which columns should be summed is easy also. This only sums the values shown in the list. So if your list is for 200 and your page navigation is set to 50, it will only show the first 50 rows and the total for the rows which are visible. | Choosing which columns should be summed is easy also. This only sums the values shown in the list. So if your list is for 200 and your page navigation is set to 50, it will only show the first 50 rows and the total for the rows which are visible. | ||
- | < | + | < |
$gloTotalArray = array ( | $gloTotalArray = array ( | ||
' | ' | ||
Line 126: | Line 133: | ||
Passing SUM tallies the numbers. | Passing SUM tallies the numbers. | ||
- | < | + | < |
$gloPHPLocale = ' | $gloPHPLocale = ' | ||
$gloCurrencyCode = ' | $gloCurrencyCode = ' | ||
Line 160: | Line 167: | ||
Here is an example SQL query and the associated Sort Options. | Here is an example SQL query and the associated Sort Options. | ||
- | < | + | < |
SELECT p.`UID`, u.`FirstName` AS `Owner`, p.`PetName`, | SELECT p.`UID`, u.`FirstName` AS `Owner`, p.`PetName`, | ||
DATE_FORMAT(p.`BirthDate`,' | DATE_FORMAT(p.`BirthDate`,' | ||
Line 176: | Line 183: | ||
So for the above example, in the PHP you would simply add this before the wtkBuildDataBrowse call. | So for the above example, in the PHP you would simply add this before the wtkBuildDataBrowse call. | ||
- | < | + | < |
wtkSetHeaderSort(' | wtkSetHeaderSort(' | ||
wtkSetHeaderSort(' | wtkSetHeaderSort(' | ||
Line 187: | Line 194: | ||
By default when you have your unique identifying column (UID, GUID, ID) in the SELECT statement, it will not be shown. | By default when you have your unique identifying column (UID, GUID, ID) in the SELECT statement, it will not be shown. | ||
- | < | + | < |
$gloHideUID = false; | $gloHideUID = false; | ||
</ | </ | ||
Line 195: | Line 202: | ||
By default your result set will not be truncated. | By default your result set will not be truncated. | ||
- | < | + | < |
$gloBrowseTruncate = true; | $gloBrowseTruncate = true; | ||
</ | </ | ||
Line 203: | Line 210: | ||
You can set the follow variable and any HTML formatting will be removed from the SQL results before putting them into the browse list. This uses the **wtkRemoveStyle** function which is defined in wtk/ | You can set the follow variable and any HTML formatting will be removed from the SQL results before putting them into the browse list. This uses the **wtkRemoveStyle** function which is defined in wtk/ | ||
- | < | + | < |
$gloBrowseNoStyle = true; | $gloBrowseNoStyle = true; | ||
</ | </ | ||
Line 211: | Line 218: | ||
If you want the SQL results to have <br> added in place of line breaks, set this PHP variable to true before calling **wtkBuildDataBrowse**: | If you want the SQL results to have <br> added in place of line breaks, set this PHP variable to true before calling **wtkBuildDataBrowse**: | ||
- | < | + | < |
$gloBrowseNL2BR = true; | $gloBrowseNL2BR = true; | ||
</ | </ | ||
Line 221: | Line 228: | ||
Simply before calling **wtkBuildDataBrowse** put in this line: | Simply before calling **wtkBuildDataBrowse** put in this line: | ||
- | < | + | < |
$gloSkipFooter = true; | $gloSkipFooter = true; | ||
</ | </ | ||
Line 231: | Line 238: | ||
This **20** can be globally changed by setting the following PHP variable in wtk/ | This **20** can be globally changed by setting the following PHP variable in wtk/ | ||
- | < | + | < |
$gloRowsPerPage = 30; | $gloRowsPerPage = 30; | ||
</ | </ | ||
- | ===== WTK Page Builder ===== | + | ===== Custom HTML Row and Header ===== |
+ | |||
+ | Usually you want the data returned in simple columns, and that is the default for wtkBuildDataBrowse. | ||
+ | |||
+ | <code php> | ||
+ | |||
+ | $pgSQL =<<< | ||
+ | SELECT `UID`, DATE_FORMAT(`AddDate`, | ||
+ | CONCAT(`FilePath`, | ||
+ | CONCAT(`FirstName`, | ||
+ | `Address`, `City`, `State`, `Zipcode` | ||
+ | FROM `wtkUsers` | ||
+ | WHERE `NewFileName` IS NOT NULL | ||
+ | ORDER BY `FirstName` ASC | ||
+ | SQLVAR; | ||
+ | |||
+ | $gloColHdr = '< | ||
+ | |||
+ | $gloRowHtm =<<< | ||
+ | < | ||
+ | <div class=" | ||
+ | @WTKIMAGE@ | ||
+ | <a class=" | ||
+ | </ | ||
+ | <div class=" | ||
+ | < | ||
+ | < | ||
+ | @Address@< | ||
+ | @City@, @State@ @Zipcode@</ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | htmVAR; | ||
+ | |||
+ | $pgHtm | ||
+ | $pgHtm .= wtkBuildDataBrowse($pgSQL); | ||
+ | </ | ||
+ | ===== wtkRowFunction ===== | ||
+ | |||
+ | This feature is rarely needed but does give you amazing flexibility. | ||
+ | |||
+ | When you need complex rules and customization of HTML based on the data of a returned row, you can use the **wtkRowFunction** function. | ||
+ | |||
+ | Here is example code: | ||
+ | |||
+ | <code php> | ||
+ | // You define the next function in any way you like | ||
+ | function wtkRowFunction($fncHtmRow, | ||
+ | $fncNewRow = $fncHtmRow; | ||
+ | if ($fncData[' | ||
+ | $fncNewRow = wtkReplace($fncNewRow, | ||
+ | endif; | ||
+ | if ($fncData[' | ||
+ | $fncNewRow = wtkReplace($fncNewRow, | ||
+ | else: | ||
+ | $fncNewRow = wtkReplace($fncNewRow, | ||
+ | endif; | ||
+ | return $fncNewRow; | ||
+ | } | ||
+ | |||
+ | $pgSQL =<<< | ||
+ | SELECT p.`UID`, p.`PetName`, | ||
+ | L.`LookupDisplay` AS `PetType`, | ||
+ | CONCAT(' | ||
+ | `fncContactIcons`(p.`OwnerEmail`, | ||
+ | FROM `pets` p | ||
+ | LEFT OUTER JOIN `wtkLookups` L ON L.`LookupType` = ' | ||
+ | WHERE p.`DelDate` IS NULL | ||
+ | SQLVAR; | ||
+ | |||
+ | wtkSearchReplaceRow(' | ||
+ | // above line is what triggers wtkRowFunction to be called for every row | ||
+ | |||
+ | $pgHtm .= wtkBuildDataBrowse($pgSQL); | ||
+ | </ | ||
+ | |||
+ | Utilizing this, the wtkBuildDataBrowse function will call your **wtkRowFunction** function passing it the row of data that was retrieved and formatted. | ||
+ | |||
+ | ====== Demo Pages ====== | ||
+ | |||
+ | We have several demos showing all the different functionality for the **wtkBuildDataBrowse** function which you will find is one of the most useful functions in the Wizard' | ||
+ | |||
+ | The PHP demos have exact minimalist code examples of how easy it is to use the powerful feature of passing a SQL query to generate a full listing web page with all of the features listed above. | ||
+ | |||
+ | * / | ||
+ | * / | ||
+ | * / | ||
+ | * / | ||
+ | * / | ||
+ | * / | ||
+ | * / | ||
+ | |||
+ | |||
+ | ====== WTK Page Builder | ||
If you use the WTK Page Builder it will create a browse PHP page for you and have in the code comments all the main features. | If you use the WTK Page Builder it will create a browse PHP page for you and have in the code comments all the main features. |
browse_box.1733110702.txt.gz · Last modified: 2024/12/02 03:38 by wtkadmin