Lets say you run a mini-hotel and need to build a very simple reservation system. In this article we will show how avoid double-booking only showing the rooms that are available for selected date range. Similar approach can be applied to any other reservation system i.e. if you need to build conference rooms reservation app.

In our database we need two tables, Rooms and Reservations.

Continue Reading "Building a hotel reservation system"

Version 10 makes creating multi-column forms easier. In previous versions you needed to select layout on Style Editor page. In version 10 you can do this right in Page Designer and you can change it at any time without resetting the page. Changes you made to your page will no be lost.

In this article we use Customers table from Northwind database. In Page Designer select Edit page. Here is how it looks by default (all images are clickable):

Continue Reading "Using multi-column design in version 10"

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"