Creating a Top 10 chart with less code
- Category: Personal Home Page
- Hits: 26175
I've decided to put something in here as it took me an age to find out how I could do it.
This is when using a MySQL query within a PHP script. The process is used often to do a statistics table or top ten chart of your data (eg. movies, music, etc).
My aim is to do the following:
- retrieve data from a table,
- count the number of times each data exists,
- sort it in reverse order so that the most frequent is at the top of the list
- print out each row with the number of times that particular data appeared in a row
My old method was to:
Outputting PHP files into different file formats
- Category: Personal Home Page
- Hits: 13833
I'm beginning a list as I've just spent an age trying to get PHP output to create a text file. Then my client showed me how she then opens the text file in Excel, so I said we could get the script to do that instead.
PHP to TXT
header('Content-Type: text/plain; charset=utf-8');
header('Content-Disposition: attachment; filename=foo.txt');
echo 'contents of file';
PHP to XLS
$export_file = "my_name.xls";
ob_end_clean();
ini_set('zlib.output_compression','Off');
header('Pragma: public');
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: pre-check=0, post-check=0, max-age=0');
header ("Pragma: no-cache");
header("Expires: 0");
header('Content-Transfer-Encoding: none');
header('Content-Type: application/vnd.ms-excel;');
header("Content-type: application/x-msexcel");
header('Content-Disposition: attachment; filename="'.basename($export_file).'"');
Converting SQL date in PHP to European date format and vice-versa
- Category: Personal Home Page
- Hits: 24719
If you've ever made PHP scripts to process data within a LAMP environment (Linux, Apache, MySQL, PHP) then this happens a lot. In the following example, our HTML form will allow the user to specify a date (so excludes hours, minutes and seconds). For demonstration purposes, I'm going to be using the European date format so DD/MM/YYYY.
The SolutionUsing a HTML form and PHP to upload a file
- Category: Personal Home Page
- Hits: 36241
Basically you have a HTML form with an input field type of 'FILE' (ie. <input type="file" name="file_to_upload" />) and want a PHP file to process this. This example applies to a Linux Apache MySQL PHP (LAMP) environment.
The Solution
1. The first thing to do is check that your HTML form is setup to do this:
Counting the occurence of a word within a string: Benchmark
- Category: Personal Home Page
- Hits: 20084
I added this article because when I was only trying to look up how to do this, this nut "the Storyteller" went and carried out a benchmark test on the most popular ways of counting the occurrence of a specific word within a string of text.
A quick run through of setting up an export process in SITS
- Category: Extensible Markup Language
- Hits: 64067
- SITS:Vision v8.7.0
- Uniface v9.6.03
- Microsoft Windows 7
- Microsoft SQL Server 2012 (SP1) - 11.0.3128.0
What?
"Quick" may not be the right word, so this is a somewhat summarized article on how to get data out of SITS, up to running the monitors and populating an OUTPUT table in the SITS database. Note that this does not include steps thereafter in the Staging or Target destination which will be specific to your business requirements.
Why?
If you're developing in SITS, and you use the client, the first time(s) you do this, the task is rather daunting. Having done it a few times and run through a few, I thought I'd note this down to remind me if I ever work for a company using SITS:Vision again.
How?
XML Schema Reference
- Category: Extensible Markup Language
- Hits: 37869
| Element | Explanation |
|---|---|
| all | Specifies that the child elements can appear in any order. Each child element can occur 0 or 1 time |
| annotation | Specifies the top-level element for schema comments |
| any | Enables the author to extend the XML document with elements not specified by the schema |
| anyAttribute | Enables the author to extend the XML document with attributes not specified by the schema |
| appinfo | Specifies information to be used by the application (must go inside annotation) |
| attribute | Defines an attribute |
| attributeGroup | Defines an attribute group to be used in complex type definitions |
| choice | Allows only one of the elements contained in the |
| complexContent | Defines extensions or restrictions on a complex type that contains mixed content or elements only |
| complexType | Defines a complex type element |
| documentation | Defines text comments in a schema (must go inside annotation) |
| element | Defines an element |
| extension | Extends an existing simpleType or complexType element |
| field | Specifies an XPath expression that specifies the value used to define an identity constraint |
| group | Defines a group of elements to be used in complex type definitions |
| import | Adds multiple schemas with different target namespace to a document |
| include | Adds multiple schemas with the same target namespace to a document |
| key | Specifies an attribute or element value as a key (unique, non-nullable, and always present) within the containing element in an instance document |
| keyref | Specifies that an attribute or element value correspond to those of the specified key or unique element |
| list | Defines a simple type element as a list of values |
| notation | Describes the format of non-XML data within an XML document |
| redefine | Redefines simple and complex types, groups, and attribute groups from an external schema |
| restriction | Defines restrictions on a simpleType, simpleContent, or a complexContent |
| schema | Defines the root element of a schema |
| selector | Specifies an XPath expression that selects a set of elements for an identity constraint |
| sequence | Specifies that the child elements must appear in a sequence. Each child element can occur from 0 to any number of times |
| simpleContent | Contains extensions or restrictions on a text-only complex type or on a simple type as content and contains no elements |
| simpleType | Defines a simple type and specifies the constraints and information about the values of attributes or text-only elements |
| union | Defines a simple type as a collection (union) of values from specified simple data types |
| unique | Defines that an element or an attribute value must be unique within the scope |
XSD Restrictions/Facets for Datatypes
| Constraint | Description |
|---|---|
| enumeration | Defines a list of acceptable values |
| fractionDigits | Specifies the maximum number of decimal places allowed. Must be equal to or greater than zero |
| length | Specifies the exact number of characters or list items allowed. Must be equal to or greater than zero |
| maxExclusive | Specifies the upper bounds for numeric values (the value must be less than this value) |
| maxInclusive | Specifies the upper bounds for numeric values (the value must be less than or equal to this value) |
| maxLength | Specifies the maximum number of characters or list items allowed. Must be equal to or greater than zero |
| minExclusive | Specifies the lower bounds for numeric values (the value must be greater than this value) |
| minInclusive | Specifies the lower bounds for numeric values (the value must be greater than or equal to this value) |
| minLength | Specifies the minimum number of characters or list items allowed. Must be equal to or greater than zero |
| pattern | Defines the exact sequence of characters that are acceptable |
| totalDigits | Specifies the maximum number of digits allowed. Must be greater than zero |
| whiteSpace | Specifies how white space (line feeds, tabs, spaces, and carriage returns) is handled |
SITS: Export field code and name
- Category: Extensible Markup Language
- Hits: 37166
- Microsoft Windows 7 Enterprise
- SITS:Vision Students (v8.7.0)
You might be able to work it out from the online manuals but it took me a while, we wanted to bring back both the code and the lookup value in our XML to our Staging environment.
Why?
Let's take the country of birth of a person as an example as it is expected to be a long list and where just using the parameter &S is not workable. Instead I want to use &G[] and get both the code and the lookup value:
-- What I have: no export format <stu_codc>5826</stu_codc> -- What I could have: export format set to get lookup value -- &GCOD_NAME.COD.SRS <stu_codc>England</stu_codc> -- What I want: export format to get multiple values -- &G[COD.SRS:•<•<COD_CODE.COD•>•>|•<•<COD_NAME.COD•>•>] <stu_codc>5826|England</stu_codc>
How?

