Do you know PHP and have data in a Microsoft SQL Server database? Well we have an application wizard that will make your lives a little easier. The project, open source and hosted on CodePlex, will help you build a simple CRUD (Create, Read, Update, Delete) application that works against Microsoft SQL Server, SQL Azure and Windows Azure Storage. The application is installable on Windows and supports data navigation, paging, sorting and UI customization using simple CSS.
Here’s what you will need, a working PHP web server, a connection to the internet, a SQL Server 2005 or higher. You can also use the free version. “SQL Server Express” that is available for download and installable as part of the Web Platform Installer. As an added bonus you can also work against your Windows Azure Storage or SQL Azure database. Windows Azure tokens are available by registering for Windows Azure Services and redeemable at http://windows.azure.com
To begin download the wizard, open the.zip and install on your PC. There is a handy deployment guide that helps you get started. You will simply need to set up a database account with a username and password. Install the SQL Server 2005 Native Client DLL and the SQL 2005 PHP Driver 1.1 which will give you a .dll for the appropriate version on PHP you are running (5.2 or 5.3, thread-safe and non). Copy the appropriate .dll to your PHP extension directory (e.g. C:\php\ext) and add a reference to your PHP.ini file (e.g. C:\php\php.ini) to call the .dll, (e.g. extension=php_sqlsrv_xx_yyy.dll)
You will then want to use “SQL Server Management Studio” (ssms.exe) from the Start Menu (All Programs or Programs) or from C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE to create a new user and a database. The tutorials listed below are a quick way to get started
Following the steps above I created a login to my SQL Server, Created a database “sqlcruddemo” and a new table called “customer” and associated a database user “demo” to it. In the table I then created 3 columns. ID, set as a non-null integer and a “Primary Key” plus Firstname and Lastname both as variable character strings of length 50. This is how it looks like from the design tool.
Once you have the database set up you can run the file PhpSiteGenerator.exe either from the “PHP SQL Crud Application Builder” entry in your Start menu or from the Installation folder (typically C:\Program Files\PHP SQL Crud Application Builder). The splash page shows up as below. You will want to enter in the name of the database user you created (e.g. demo) and it’s password. Then click the button “Find Database” where it will bring down entries for the “Database” and “Table” drop down menus. I have selected the entries I created before (database “sqlcruddemo” and table “customer”) and the checkboxes for the columns (ID, Firstname, Lastname)
Hit the “Next” button to get to the second screen where you can set CSS styles for the table of the CRUD application. I decided to change the “.tblHeaderCell” tag, which sets the table headers, with a blue background-color and bold fonts. The CSS in the generated file, “style.css” and the form looks like …
Hitting “Generate Site” will yield the result in the following form, “index.php”, which I have populated entries using the “Create New” button which calls the “create.php” file also displayed in the browser below
You can use these generated helper php files and forms as the building blocks for the database driven application that you would like to write against SQL Server. As you can see most of the PHP code you need to manipulate data from SQL Server has been taken care for you.
Take a look!
Jas Sandhu Technical Evangelist, Interop Vendor Alliance Manager, Interoperability Strategy Team Twitter@jassand, FriendFeed@jassand
Zend Technologies Inc. has announced the availability of Zend Framework 1.10, which among other new features includes support for Microsoft Windows Azure cloud services. We’re very excited about this key milestone, which is the result of a fruitful collaboration! This particular project started last year when we announced the Windows Azure SDK for PHP CTP release and upcoming support in Zend Framework. I also want to thank again Maarten Balliauw who has been a key contributor to the initial project.
With the new Zend Framework 1.10, by simply using the new Zend_Service_WindowsAzure component, developers can easily call Windows Azure APIs from their PHP applications and leverage the storage services, including Blob Storage, Table Storage and Queue Service, offering them a way to accelerate web application development and scale up on demand.
With this announcement, PHP Developers now have great choice when it comes to writing web applications targeting Windows Azure. Besides the Windows Azure SDK included in Zend Framework, there is Windows Azure SDK for PHP which is already prepackaged in Windows Azure tools for Eclipse and the more simpler Simple Cloud API.
Jean Paoli, General Manager Interoperability at Microsoft offered a comment about this announcement: “PHP developers find the Windows Azure platform compelling, Microsoft’s decision to contribute PHP-based Windows Azure components to Zend Framework helps demonstrate Microsoft’s commitment to openness and interoperability by providing greater choice and opportunity for Microsoft customers and partners.”
All of this is very well aligned with Windows Azure Interoperability approach www.windowsazure.com/interoperability in particular and the overall interoperability effort Microsoft is conducting around PHP (see http://www.interoperabilitybridges.com/projects/tag/PHP.aspx and http://www.microsoft.com/web/php)
Vijay Rajagopalan, Principal Architect
As the Interoperability Executive Customer (IEC) Council moved into its 4th year of existence and embarked on tackling interoperability issues in new areas, we just published a whitepaper(PDF 1.25Mb) listing the discussions and major achievements by the council over the last 3 years.
This is the first time we have gone public with any of the operational details and results achieved by the council.
As a technical lead, running the day to day workings of this council, I will also like to thank all the member organizations, their CIOs and other technical leads and architects for their support and participation in this council. I encourage you to read comments from Council members in the following article: “Microsoft and Customer Executives Team Up to Improve Interoperability”.
These organizations spend a lot of time and effort in attending the meetings and providing us candid feedback on many of our strategies, products and technologies without which the council wouldn’t be able achieve what it has in these past 3 years. The council also sees a lot of engagements from many Microsoft product teams and other employees from various parts of the company but I would especially like to call out and thank Connie Dean, Meghan Raftery and Monty O’Kelley for their contributions over the last 3+ years.
The IEC Council is led by Bob Muglia, President of Server and Tools Business and his direct involvement is a major factor in its successful existence and ability to produce tangible results over the past 3 years. It plays a key role in influencing Microsoft’s overall strategy around interoperability and providing feedback on this important subject. As you will be able to readily recognize, many of the blog posts on this site and our work at www.interoperabilitybridges.com have been highly influenced by discussions taking place within the IEC Council. This is strictly by design.
All the information gathered from the IEC Council process has been categorized into areas of focus called “work streams”. Work stream efforts are led by executives from numerous Microsoft divisions and product teams who interact and partner with council members’ technical architects and CIOs to identify and develop solutions within these specific areas. These are:
We would love to hear some feedback on the topics discussed, results achieved and in general on interoperability issues being addressed through the workings of this council.Looking forward to more productive discussions and positive results from the IEC Council for many more years.
Kamaljit Bath, Principal Program Manager