Troubleshooting SQL queries

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 »

Beta version is here with Bootstrap based templates

Beta version of PHPRunner 9.0, ASPRunnerPro 9.5 and ASPRunner.NET 9.0 is here. Current build 26521, updated on May 25th, 2016. is We plan to have final version available in 3-4 weeks.

Trial version download links are below. Please note that trial version is Professional Edition. We do not recommend opening existing Enterprise Edition project with this trial version. Try creating a new project instead.

If you are getting Windows SmartScreen warning trying to install the trial version click 'More info' and then 'Run anyway'. We'll fix this in a few days

PHPRunner 9.0

ASPRunnerPro 9.5

ASPRunner.NET 9.0

'Buy now' pages




Upgrade pages




Live demo

Use test/test or admin/admin to logon.

Bootstrap templates and themes

New version comes with 15 Bootstrap themes and you can add your own.

Continue reading Beta version is here with Bootstrap based templates »

MassMailer template use case

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 »

Executing your code after Inline Add or Edit

PHPRunner/ASPRunnerPro/ASPRunner.NET have a couple of handy events that allow you execute your own code after record was added or edited in inline or in popup mode. For instance, you may want to change some fields appearance based on new data modified or redirect user to view page after record was added in popup mode.

1. Change text color and background color after Inline Add/Edit

To do so add the following code to List page: Javascript OnLoad event.

function funcAfter(fieldsData) {
    for (f in fieldsData) {
        var field = fieldsData[f];
        if ( == 'status') {
            if (field.value == 'Pending') {
                field.container.closest('td').css('background', 'red');
                field.container.closest('td').css('color', 'white');
            } else if (field.value == 'Active') {
                field.container.closest('td').css('background', 'orange');
                field.container.closest('td').css('color', 'darkblue');
this.on('afterInlineEdit', funcAfter);
this.on('afterInlineAdd', funcAfter);

In this event we evaluate the value of 'status' field and then change CSS properties of the cell when this field is located. To save the amount of coding we define the funcAfter function and make it run after both Inline Add and Edit.

This code will work without any changes in PHPRunner, ASPRunnerPro and ASPRunner.NET apps. Here is how it's going to look.

Continue reading Executing your code after Inline Add or Edit »

Speed-up data entry

We continue series of posts that show how to make you PHPRunner/ASPRunnerPro/ASPRunner.NET apps behave in Excel-like way. In this article we'll show how you can speed-up data entry in inline mode eliminating the need to click 'Inline Add' and 'Save' buttons multiple times.

Continue reading Speed-up data entry »

Adding badges to application menu

In this post we'll show how to spice up your application menu drawing attention to new and important items. For this purpose we'll be using so called menu badges.

Continue reading Adding badges to application menu »

Running ASPRunner.NET and PHPRunner apps on Microsoft Azure

In this article we'll show how to deploy PHPRunner or ASPRunner.NET application to Microsoft Azure cloud. I assume you already have an account with Azure, if not, you can create one here.

1. Create new application

Continue reading Running ASPRunner.NET and PHPRunner apps on Microsoft Azure »

Technology choices

Technology choices we make can make or break your web application. Here are a few things I’d like to share based on my experience as a web developer.

1. Programming language

Not all programming languages created equal. This is especially true when we talk about ASP aka “Classic ASP”. Microsoft stopped developing ASP . . . → Read More: Technology choices

Testing web apps in mobile mode

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 »

Storing field labels and visibility rules in the database

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`(
`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,

Live demo
Continue reading Storing field labels and visibility rules in the database »