Before you start
This tutorial is for PHP programmers and webmasters interested in extending the application from Part 1 of this two-part series. The example application will be extended in the following ways:
- To allow a user to choose which of the supported search engines to obtain positions on
- To allow an SEO provider to bill clients based on positions obtained for clients, while providing a positions summary, as well as a billing summary in CSV format
- To add Ask.com and the Open Directory Project as possible search venues
This series creates a search engine optimization application that connects to search engines to obtain client positions for a given list of URLs and keywords. Matching results will be stored in an Apache Derby database for later processing.
Part 1 sets up and builds the back-end database and application in PHP. This includes code to retrieve positions from the three top search engines.
Part 2 adds functionality to search Ask.com and the Open Directory Project. You'll also extend the database and application to automatically bill clients, and provide two summary files in CSV format.
This tutorial extends the application written in Part 1 to allow a client or SEO company to choose which of four search engines and one directory to search from. A new search engine and directory, Ask.com and the Open Directory Project, will be added as search venues. Lastly, we implement functionality in PHP that will automatically create two CSV file reports, a positions and billing summary, that can be imported into spreadsheet software.
The following tools are needed to follow along:
- Web server
- Any operating system and any Web server can be used. Feel free to use Apache V2.X or the IBM HTTP Server.
- PHP
- Due to the use of PHP data objects, PHP V5.1 or higher is required for this tutorial. Be sure to configure PHP with the following option to include support for Derby and the SOAP extensions:
--with-pdo-odbc=ibm-db2,/home/db2inst1/sqllib --enable-soap. See Resources for information about configuring Apache or the IBM HTTP Server with PHP.
- Database
- This tutorial uses Apache Derby, which is open source and lightweight, the IBM DB2 JDBC Universal Driver, and the DB2 runtime client from IBM. Make sure that you have set your classpath appropriately by following the given instructions on each page. You can follow either the Linux®
or Windows®
instructions for installing and downloading the DB2® runtime client.
Cloudscape may also be used for this tutorial. The internals of Cloudscape are the same as Derby, however, the DB2 JDBC Universal Driver and other things are packaged into Cloudscape, and it is supported by IBM. Download Cloudscape V10.1, and the DB2 runtime client from IBM.
- Java™ technology
- Derby requires Java technology from Sun Microsystems or from IBM.
- Developer and application tokens
- Each major search engine requires that you pass along some sort of ID with your SOAP or REST request for search results. You need to get one from each of them: Google, Yahoo! and MSN.
This tutorial assumes basic PHP knowledge of PHP syntax, including assignments, for loops and functions, and so forth.

