Version 9.8 added an option to use Grid Tabs. Besides static tabs we also developed an API that allows to create and manage tabs from your code.

In this example we will use the typical Orders table to demonstrate how this API works. We will create a tab for each employee that lists her own orders only. This is how it is going to look in generated application.

Continue Reading "Creating Grid Tabs dynamically"

PHPRunner 9 adds an option to build and package desktop applications as well as web applications. In this article we'll try to answer most common questions and explain what PHPRunner desktop applications can and can not do.

How it works

First of all, Desktop apps functionality is built on the top of wonderful open source PHP Desktop project. PHP Desktop packages together the following software components:

  • web server (Mongoose)
  • PHP
  • Chrome browser
Continue Reading "Desktop applications with PHPRunner"

This is a just for fun PHPRunner project similar to one we built for World Cup 2014. Check this live demo first.

This project requires PHPRunner 9.0. Yes, there is a desktop app for this project. Download it, install it, run it and enjoy. Ignore the security warning, we didn't sign this one yet.

This project uses live Euro 2016 data provided by football-data.org in JSON format. PHPRunner project makes the use of this data and if will not work if they website is down for any reason.

Continue Reading "Displaying EURO 2016 data with PHPRunner"

Web applications generated by PHPRunner, ASPRunner.NET or ASPRunnerPro communicate with databases via means of SQL queries. Whenever you search, edit or delete data your web application issues a series of SQL queries, gets results back and displays it on the web page. Understanding the basics of SQL will help you build better apps and find errors faster.

Our code generators come will handy option to display all SQL queries application executes. For this purpose you can add the following line of code to AfterApplicationInitialized event:

In PHPRunner

$dDebug = true;
Continue Reading "Troubleshooting SQL queries"

MassMailer template v2 was updated. This is a free upgrade for existing MassMailer template v2 owners. More info.

MassMailer template can be used for more than just sending bulk emails. Lets consider the case where you manage a table with usernames and passwords for your internal company application. For increased security users should change passwords every 60 days. As an administrator you need to perform two standard tasks:

  1. Set reminders to users when their password is about to expire
  2. Mark their account as inactive when password expires

We'll show how this can be done with the help of MassMailer template. In this example we'll be using MySQL and here is how our table with logins and passwords looks. Only users where 'active' field equals 1 are able to logon.

Continue Reading "MassMailer template use case"

Experienced developers won't find anything in this article they didn't know already. All others will find it quite useful. We'll show a few different ways of how you can quickly test the mobile version of your application.

This article applies to PHPRunner, ASPRunnerPro and ASPRunner.NET with Mobile template option enabled.

1. Using your web browser

All modern browsers have an option to show any page the way it will appear on mobile device. In this article will show you how to do this using Chrome web browser.

1.1 Hit F12 to open Chrome Developers Tools. Click Mobile device icon in Chrome Developer tools.

Continue Reading "Testing web apps in mobile mode"

You need to change some field labels in your project but don't want to rebuild and upload the whole project. In this tutorial we'll show how to do that storing field labels in the database and displaying them dynamically. As a bonus we'll also show how hide fields based on visibility rules stored in the database, make fields readonly or required.

First we need to create a table in the database to store all those settings. We would need fields like table name, field name, field label and visibility. Here is the sample table script for MySQL.

CREATE TABLE `settings`(
`id` int NOT NULL AUTO_INCREMENT, 
`tablename` varchar(50) NULL, 
`field` varchar(50) NULL, `label` varchar(100) NULL, 
`visible` tinyint NULL DEFAULT 0, 
`readonly` tinyint NULL DEFAULT 0,
`required` tinyint NULL DEFAULT 0,
PRIMARY KEY (`id`))
CHARACTER SET utf8;

Live demo

Continue Reading "Storing field labels and visibility rules in the database"