Home Up Killifish Angelfish AquaticPlants Dallas Area Computer Volunteer United Way / NonProfit FREE Software Information & Referral Database Donor Management and Fundraising Introduction CMBHS Problems and  Issues Government CARS  Program- Cash f Volunteer Management Software Nonprofit Case Management Softwa Nonprofit Food Pantry Software Outcomes Aquarium AccessDB Computer - Miscellaneous

 

Web Development

 

Web Development using MySQL - PHP - Apache

(including PHPRunner Review)

6/2/2010

Updated 2/22/2012

Preface

Introduction

I am an experienced programmer on mainframes and windows PCs.  I have had only very minor experience in building online applications.  Recently I decided to learn about building web sites.  My interest is in data management web sites, similar to what one might produce using Microsoft Access.

 

Updated February 2012. 

I have completed trying out Alpha Five version 11.  All I can say is WOW!  It is like Access on steroids and produces very functional desktop or web apps without code.   A5 has extensive options and "Genies" to "build stuff for you".   There are lots of Ajax based capabilities that "just happen".  If you need code, there is Xbasic, very much like VBA.   Xbasic can tap into .Net capabilities as well.  And while you have to do an Ajax callback to execute Xbasic which runs on the desktop, Alpha Five builds the Ajax callback for you so you just need to learn Xbasic.

There is a 30 day free trial that I urge anyone interested in trying.

http://alphafive.com/

Be sure to load up the Demo app.  It has MANY examples of things you can do with Alpha Five without code!  And then you can examine the app to see how it works.

 

Be sure to listen to three videos here

http://wiki.alphasoftware.com/Read+me+first

Scroll down to the Additional Resources or follow the steps below.

 

1) Scroll down and first view this video, showing the capabilities of a fully functional web demo app created in 5 minutes flat by an experienced web developer.

Discussion of an impressive Ajax application built in 5 minutes(external link)

http://www.screencast.com/users/remoorejr/folders/A5V10/media/da0d31bf-df7a-4957-ab36-a9a57011dd7d

2) Next listen to the Information Week discussion on building the app

Fritz Nelson of InfoWeek discussing the 5-minute application with Dave McCormick:

http://wiki.alphasoftware.com/Read+me+first

scroll down to Additional Resources and click on the already visible video pane

 

3) Now watch the Ajax app being built in 5 minutes

http://www.screencast.com/users/remoorejr/folders/A5V10/media/680248a9-dbd7-4f62-877b-10e7536c79d3

The biggest issue with Alpha five seems to be how to get started and how to learn it.  I have been working at this now for three weeks and am just now starting to be comfortable in building web apps.   To that end, be sure to follow the steps of the Read Me first page

http://wiki.alphasoftware.com/Read+me+first

Then, if it still looks interesting to you, I would strongly recommend investing $69 and buying the Total Training videos by Steve Workings.  They are excellent.

http://image.exct.net/lib/fef51076706102/d/1/Total_Jan25.html

After wading through the first several Total Training videos, you should be itching to build something yourself, which I urge you to do before completing all of Steve's videos.  You will come back for more!

 

 

 

Introduction

I am an experienced programmer on mainframes and windows PCs.  I have had only very minor experience in building online applications.  Recently I decided to learn about building web sites.  My interest is in data management web sites, similar to what one might produce using Microsoft Access.

Database:  MySQL.

Although I have experience with several databases including Microsoft's SQL Server and Express databases, I chose MySQL.  It is free.  It runs on many platforms and I am told is fairly easy to use. 

 

Web Programming Language:  PHP

There are a large number of web programming languages out there.  I picked PHP because it is free, widely used and with lots of resources available to help you learn it.

 

Web Server:  Apache

I have some prior experience with Microsoft's IIS server.  I found it was somewhat complex to use.  I decided to use Apache.  It is free.  It runs on Windows, Unix, Linux and other platforms

 

Installation of MySQL/PHP/Apache:  WAMP

I had read about bundled installations available for MySQL, PHP and Apache.  While looking for them I ran across WAMP.

http://www.wampserver.com/en/

It provides an integrated installation package that ran without incident.  It also provides a front-end control panel to start or stop all services.

Since I had previously used IIS server I had to stop that service.

Also it noticed that I had Mozilla Firefox installed and asked if I would like that to be my default browser.  I agreed.

After I installed the software and stopped IIS, I started the WAMP and from the tray at right started all services.  From the same WAMP icon in the tray I selected "localhost" and was immediately display with the default page, index.php.  Don't be confused by the startup page which says Welcome in multiple languages and "IIS7" in the middle.  It IS php.

 

\\localhost\  maps to c:\wamp\www.  For most of the PHP apps I generated, they had their own subdirectory name which I copied to  c:\wamp\www

To access the site I used the URL  \\localhost\<directoryname/startupobject.php

 

Database and Table Creation

I had recently been spoiled in using Microsoft Access as it includes not only its proprietary database, but also the administrative tools to create tables and fields.  In its native form, MySQL expects you to do so via DOS commands.  So I looked for a MySQL administrator application.  I found two that seemed both quite workable.

SQL Maestro for MySQL

http://www.sqlmaestro.com/products/mysql/maestro/

$139/179 and up.   30 day free trial

It like the next one, allow you to graphically create a new database, add tables, add and edit fields in tables, etc. 

It has a database designer capability not present in the free product listed later.

 

SQL Manager Lite for MySQL / SQL Manager  for MySQL Freeware

http://www.sqlmanager.net/en/products/mysql/manager

It is similar in capabilities to SQL maestro but lacks the database designer capability.

They also offer a commercial version for $95/175

 

Programming Language to Develop PHP Code

MY next challenge was to pick the language to develop the PHP code.  Yes, PHP is the language.  But there are lots of "development environments" or IDEs and code generators.  I personally am opposed to coding except where absolutely necessary.  I ideally want something like Microsoft Access where you can use a wizard or manually lay out a form and IDE handles the logic to make the form work. 

Toward that end I started researching application generators.  I was very surprised and pleased to find a handful that easily and quickly generated PHP code which worked first time without error.  That was great.

 

Application generators typically generate multiple types of pages for each table you specify.  Some allow you to select which form types are to be generated.  These typically include

list records

display single record

add record

delete record

master detail displays

In using an application generator, I knew that while I would get a workable app, it would be very generic.  I often want or need to customize things.  I am especially interested in customizations (or generator capabilities) that allow me to

1. Modify the layout of any form

2. Allow selection of a field value from a drop down list box populated from a database table

3. Validation logic for each field.

4. Support master detail pages such as order header ---> order detail line items

Ability to modify the layout of the generated form proved to be the most difficult.

 

Application Generator:  PHPRunner 5.2

(PHPRunner Review)

http://xlinesoft.com/phprunner/

20 day free trial - Std version $399 - Enterprise Edition $599

Enterprise Edition adds online reports & charts and expanded security.

It supports all four of the key capabilities listed above.

It supports databases other that MySQL including:  MS SQL Server, Oracle, Access, Postgress, DB2 and other databases accessible via ODBC.

It appears to have an active Forum.

I found several very useful tutorials"

"How to use WYSIWYG visual editor."

"How to build advanced web forms" This tutorial shows how to create forms where data need not be listed only in a single column.  As with most web development software I have seen, it requires you to create multiple columns and place the fields in the various columns.  It is not fully free format but works quite well.

"How to setup master-details relationships"

"How to use events"

The software also allows you to create PHP code for built in events.  It provides some built in event functions/templates such as for sending an email.

It took me a while to find it, but there is the ability to create validation logic for specific input fields.

The initial generated application worked first time without any errors.

There is a forum question/answer showing how to add tabs to add/edit pages.  Wonderful!

Update 5/2011:

The vendor now recommends use of an alternate installation of Apache, MySQL and PHP called XAMP.

http://www.apachefriends.org/en/xampp-windows.html

I had previously uninstalled WAMP and there were no issues in installing XAMP.  I saw the notes re issues for Microsoft Vista and followed their suggestions.

The only issue I encountered this time was inability to post the app to my local server and run it.  I am following up on that.

The vendor offers a FREE test server environment on their server.  You can easily upload a test app there.  works without issue.

The vendor also offers web hosting for Access or MySQL based apps starting at $10/month.  There is an easy ability to upload an app to their web host site.

The vendor also offers a version to generate an ASP application and another to generate a .Net application.

 

Other Application Generators

Code Charge Studio   $199/yr perpetual personal license

http://www.yessoftware.com/index2.php

It looks to have more capabilities for customization but the Web comments state it has a big learning curve.

It appears to be widely used.  It has also been around for many years (good/bad ??)

6/2/2010 - I could not get my initial application to run.

6/3/2010 -  Tried again.  This time I got it to work.  Two issues:

1) Connection.  apparently it requires an ODBC connection for MySQL for use at design time but it uses a native connection to MySQL at run time.  Note that there are three tabs in the form for the connection definition.  the 3rd tab is key for running MySQL.

2) I got a message about "deprecated" coding:

                      "deprecated assigning the return value of new by reference is deprecated"

Turns out there was a change in PHP version 4 to 5.  I had specified PHP 4/5.  What I didn't realize is that I needed to right click on the project name and select properties.  then set PHP version to 5.x.  that resolved the "deprecated" warning messages.

 

PHP Generator for MySQL   $103  - Noncommercial use version  $63 - FREE version with reduced features

http://www.sqlmaestro.com/products/mysql/phpgenerator/

A very nice application generator that did not have the ability to easily edit the generated forms.

 

PHPMaker  $159

http://www.hkvstore.com/phpmaker/

A very nice application generator that did not have the ability to easily edit the generated forms.

 

Iron Speed Designer  $1,195

http://www.ironspeed.com/

A very capable application generator with many customization capabilities.  For .Net application development.

If I were doing .NET apps, I would likely use this product (based on prior trial use of it).  It appears to be more powerful in customization that PHPRunner.

  

      ScriptCase

      http://www.scriptcase.net/phpgenerator/home/home.php

Initially it looked similar in capabilities to PHPRunner.  I was initially able to get one small sample working but had errors or problems with several other tries.  Sent messages to the vendor (Brazil) and am now 5/2011) awaiting their response.  It is certainly well worth looking into.

It appears that they have only a very few USA companies using the product.

 

NuBuilder  FREE

http://www.nubuilder.com/

System generator stores data and the application design in a single MySQL database.

Not clear to what extent the user can modify the layout of forms.

Apparently some people have used it to generate some pretty complicated applications.

 

dbQwikSite     $55.97 to $299.97 - also FREE edition

http://www.thedevshoponline.com/dbqwiksite.html

http://www.dbqwiksite.com/comparison.asp

The $299 version supports custom code capabilities.

From an initial look, the custom coding capabilities appears to be extensive.

With custom code capabilities, likely comparable to PHPrunner.

 

Dadabik  - free (added to this list 3/2012)

http://www.dadabik.org/

A basic CRUD development tool

 

Xataface - free    (added to this list 3/2012)

http://xataface.com/