You are on page 1of 51

1 | Page

Fig. 6 Figure showing Feasibility Analysis

Fig. 1 Overview of Theater


INTRODUCTORY PORTION CHAPTER 1 GENERAL INTRODUCTION OF THEATER If youre the movie-watching type, you know that you get to enjoy great films the way they were meant to be enjoyed: on the big screen. Watching a movie in a theater allows you to enjoy technically illustrative audio and be mesmerized by bigger-thanlife visuals. It allows you to fully empathize with the characters, lose yourself in the dialogue, and fully engage with and follow the plot. But what if you couldnt see? You couldnt be mesmerized by these visuals. You wouldnt be able to empathize with the characters as well if you couldnt decipher what they looked like, especially if a

character has a particularly important feature used to identify and differentiate him/her from others. Could you differentiate between voices? Would you be able to follow the plot as well as if you had sight? Every time people who are blind or visually impaired enter a movie theater with the hope of watching a movie alongside their sighted family and friends, so much information can be lost. Imagine everyone in the audience laughing during a moment in the film where there is little to no audioeveryone but you. Imagine you hear your friend or family member whisper, Wow, and you dont know why. What an isolating experience! But with technological information exponentially growing and creating new ways to meet and exceed our needs, there is a way to alleviate this type of isolation: described movies.

THEATRICAL DESCRIPTION Conventional movie theaters use the DTS digital audio system to play the descriptions. The DTS system provides multi-channel digital audio on CD-ROM. The descriptive narration resides on a CD that plays alongside the other discs in the DTS player. A special reader head attached to the film projector reads a time-code track printed on the film and signals the DTS player to play the audio synchronous to the film. The DTS player sends the descriptions to an infrared or FM emitter. The emitter, in turn, sends the descriptions to the theater, where they can be heard on headsets that are equipped with receivers. Each earpiece had its own volume control. Examples of different equipment include:


3 | Page

DVS Theatrical, developed by The Media Access Group at Boston public broadcaster WGBH, makes theaters accessible to audience members with visual impairments the same day films debut and during subsequent show times. WGBHs Media Access Groups Mo Pix is utilized in theaters to provide patrons who request description to enjoy the film along with sighted members of the audience.

Fig. 2- DVS Equipment DVS Theatrical allows theaters to provide description without broadcasting it to the entire audience and without the need for special prints, show times, or awkward equipment. The description is fed via infrared or FM transmitter to a small portable receiver, enabling users to hear the description on their headsets from anywhere in the theaterprivately.


When screening Dolby Digital 35 mm films, the Dolby ScreenTalk system superimposes subtitles over the projected image using a video projector or displays the text via an alternative subtitling device. There is no need for special prints; the film distributor simply provides the cinema, either electronically or via CD-ROM, a computer file containing the subtitling and audio description information for a particular release. The Dolby ScreenTalk system can also be used with a video projector to exhibit advertising slide shows. Cinema staff can assemble and load the shows using Dolby ST Media Master software supplied with the Dolby ScreenTalk package.

Fig.3- Dolby Equipment For audience members with disabilities, the system interfaces with the cinemas wireless headphone installation to transmit audio commentary directly to visually impaired patrons. Subtitles for the hearing impaired can be projected simultaneously, using a different color for each characters dialogue to provide a more satisfying cinema experience.


Providing access for blind moviegoers, the audio description is received on infrared headphones and does not disturb other patrons. Blind patrons using these headphones hear all the dialogue and effects, as well as a vocal narration in between describing the scene and the action. Characters are described, visual jokes explained, and peoples body language are all outlined in the narrative.

Fig. 4- DTS-CSS

5 | Page


After thoroughly analyzing the existing system the following objectives have been set:

Providing user friendly interface Keeping all the pictures well managed Easy access of images Easy maintenance Maintaining data consistency Providing better performance Increasing the efficiency through automation Adequate validation checks for data entry Facility to update the data time to time Adequate security of the database

CHAPTER 3 DETAILED DESCRIPTION OF THE PROJECT The project named THEATER ENTERTAINMENT is developed using PHP as Frontend and MySQL as Backend. This project has been developed in partial fulfillment of requirements for the degree of B.TECH 7th sem. (PTU). This project is web based application and can be used with a website. To access this project user must have his/her account registered. The registration process gives a username and password to the user. Using the username and password a user can access all the features of the application. The features of our application are:

User can get the details of current movie showing in theater. Theater and hall choice will be of users. A user can book tickets online. User can delete his/her account from the application. The project highlights the online processing of confirming movie tickets by the

users. User has to first register himself/herself for accessing. The administrator has permissions to change the schedule of movies releasing, availability of movies at what time, where etc. using administrator login by using his/her username and password to make desired changes in the schedule. The administrator is the owner of processing of all the information and latest updates to be provided to users.

7 | Page



The homepage is the first page which shows the basic view of the project. It contains several buttons and links which show the operation to be performed.


Administrator login process:

Administrator is the owner of whole process. Firstly, administrator logs in using his/her ID and Password.

Login page:

The login page contains another option of registering if you are not registered as shown.

9 | Page


New movies can be added by selecting appropriate theater number and hall number and then adding the details like Date, Start Time, End Time, Name of the movie, Duration, Cast etc. The old movies can be replaced by the new releases.

A list of movies will be displayed which can be changed by using the delete option along with it.

11 | P a g e


User login process:

The users can login by using their respective username and passwords. First time users have to register firstly to access it by filling some general details about them.


After logging in, users will select the date of booking as per their requirements

Show Time:

13 | P a g e

Users can change their personal details and password details anytime. This maintains their security and protects them from unnecessary access.

Personal Details:

Users can check updates about the latest releases after logging in. They can book their shows as per requirement and according to that they can reserve their seats too. The project contains the information for three theaters. Each theater has three halls in which different movies are shown at a time. These movies have been allotted a time by the administrator according to which user can book their shows. After selecting the theater number and hall number, users are switched to page in which they select the show timings and can book their tickets.

Book tickets:

15 | P a g e


Booking process:

After that they book total number of seats costing Rs.50 per ticket as per their needs.

After booking their tickets, users will be provided a reference number. They can take reference number along with them to the theater and seat will be allotted to them after validating their reference number. They should retain this reference number for future use.

Booking Details:

Special offers will be provided to the users as a lucky draw from time to time.

17 | P a g e


A software development life cycle (SDLC) has three primary objectives: ensure that high quality systems are delivered, provide strong management controls over the projects, and maximize the productivity of the systems staff. In order to meet these objectives the SDLC has many specific requirements it must meet, including: being able to support projects and systems of various scopes and types, supporting all of the technical activities, supporting all of the management activities, being highly usable, and providing guidance on how to install it. The technical activities include: system definition (analysis, design, coding), testing, system installation (e.g., training, data conversion), production support (e.g., problem management), defining releases, evaluating alternatives, reconciling information across phases and to a global view, and defining the project's technical strategy. The management activities include: setting priorities, defining objectives, project tracking and status reporting, change control, risk assessment, step wise commitment, cost/benefit analysis, user interaction, managing vendors, post implementation reviews, and quality assurance reviews. In order to meet all of the SDLC's objectives and requirements there are certain design approaches that are required: the SDLC must be an example of a system created using the techniques it espouses; it must use a layered approach to analysis,

design, installation support and production support; it must keep distinct the "what" from the "how" in regards to doing the tasks and creating the outputs; and it must organize its information in a hierarchical manner so that users with varying degrees of familiarity can find what they want easily and quickly. Defining or selecting an SDLC should be undertaken as a project with full time resources that have the appropriate level of expertise. It is an extremely high leverage effort. It also represents a major cultural change for the staff. It must be planned and executed in as professional a manner as possible.


An SDLC has three primary business objectives:

1) 2) 3)

Ensure the delivery of high quality systems; Provide strong management controls; Maximize productivity.

In other words, the SDLC should ensure that we can produce more function, with higher quality, in less time, with less resource and in a predictable manner.

Ensure High Quality

Judging the quality of a wine or a meal is a subjective process. The results of the evaluation reflect the tastes and opinions of the taster. But we need a more rigorous, objective approach to evaluating the quality of systems. Therefore, before we can ensure that a system has high quality, we must know what quality is in a business context. The primary definition of quality in a business context is the return on investment (ROI) achieved by the system. The business could have taken the money spent on developing and running the system and spent it on advertising, product development, staff raises or many other things. However, someone made a decision

19 | P a g e

that if that money was spent on the system it would provide the best return or at least a return justifying spending the money on it. This ROI can be the result of such things as: operational cost savings or cost avoidance; improved product flexibility resulting in a larger market share; and/or improved decision support for strategic, tactical and operational planning. In each case the ROI should be expressed quantitatively, not qualitatively. Qualitative objectives are almost always poorly defined reflections of incompletely analyzed quantitative benefits. The SDLC must ensure that these objectives are well defined for each project and used as the primary measure of success for the project and system. The business objectives provide the contextual definition of quality. There is also an intrinsic definition of quality. This definition of quality centers on the characteristics of the system itself: is it zero defect, is it well-structured, it is welldocumented, is it functionally robust, etc. The characteristics are obviously directly linked to the system's ability to provide the best possible ROI. Therefore, the SDLC must ensure that these qualities are built into the system. However, how far you go in achieving intrinsic quality is tempered by the need to keep contextual quality (i.e., ROI) the number one priority. At times there are trade-offs to be made between the two. Within the constraints of the business objectives, the SDLC must ensure that the system has a high degree of intrinsic quality.

Provide Strong Management Control

The essence of strong management controls is predictability and feedback. Projects may last for many months or even years. Predictability is provided by being able to accurately estimate, as early as possible, how long a project will take, how many resources it will require and how much it will cost. This information is key to determining if the ROI will be achieved in a timely manner or at all. The SDLC must ensure that such planning estimates can be put together before there have been any

significant expenditures of resources, time and money on the project. The feedback process tells us how well we are doing in meeting the plan and the project's objectives. If we are on target, we need that verified. If there are exceptions, these must be detected as early as possible so that corrective actions can be taken in a timely manner. The SDLC must ensure that management has timely, complete and accurate information on the status of the project and the system throughout the development process.

Maximize Productivity

There are two basic definitions of productivity. One centers on what you are building; the other is from the perspective of how many resources, how much time and how much money it takes to build it. The first definition of productivity is based on the return on investment (ROI) concept. What value is there in doing the wrong system twice as fast? It would be like taking a trip to the wrong place in a plane that was twice as fast. You might have been able to simply walk to the correct destination. Therefore, the best way to measure a project team's or system department's productivity is to measure the net ROI of their efforts. The SDLC must not just ensure that the expected ROI for each project is well defined. It must ensure that the projects being done are those with the maximum possible ROI opportunities of all of the potential projects. Even if every project in the queue has significant ROI benefits associated with it, there is a practical limit to how large and how fast the systems organization can grow. We need to make the available staff as productive as possible with regard to the time, money and resources required to deliver a given amount of function. The first issue we face is the degree to which the development process is labor intensive. Part of the solution lies in automation. The SDLC must be designed in such a way as to take maximum advantage of the computer assisted software engineering (CASE) tools. The complexity of the systems and the technology they use has required increased specialization. These specialized skills are often scarce. The SDLC must

21 | P a g e

delineate the tasks and deliverables in such a way as to ensure that specialized resources can be brought to bear on the project in the most effective and efficient way possible. One of the major wastes of resources on a project has to do things over. Scrap and rework occurs due to such things as errors and changes in scope. The SDLC must ensure that scrap and rework is minimized. Another activity that results in nonproductive effort is the start-up time for new resources being added to the project. The SDLC must ensure that start-up time is minimized in any way possible. A final opportunity area for productivity improvements is the use of off-the-shelf components. Many applications contain functions identical to those in other applications. The SDLC should ensure that if useful components already exist, they can be re-used in many applications. What we have identified so far are the primary business objectives of the SDLC and the areas of opportunity we should focus on in meeting these objectives. What we must now do is translate these objectives into a set of requirements and design points for the SDLC.
Fig. 5 SDLC Life Cycle


A software development process is a step by step process where each stage contributes to building of effective and efficient software:

Recognition of need Feasibility study Analyzing Design Coding Testing Implementation

Maintenance Recognition of need: The first step in the SDLC is the recognition and understanding of the problem. It is not always the case that a programmer is presented with a detailed list of instructions describing how the final application should operate. Instead, a programmer is often approached when an organization senses that something is wrong, but does not quite know where the problem lies.


Requirements Gathering, In order to design an application that fits the needs of the user, the programmer must understand the inputs and outputs the user expects the application to perform. These inputs and outputs are known as requirements.


Feasibility study: In software development life cycle is a process that determines whether the solution under analysis is achievable, given the organization's resources and constraints. A feasibility study was an evaluation of a proposal designed to determine the difficulty in carrying out a designated task. Generally, a feasibility study precedes technical development and project implementation. In other words, a feasibility study is an evaluation or analysis of the potential impact of a proposed project.


Types of Feasibility Study: Technical feasibility: A measure of the practicality of a specific technical solution. A measure of the availability of technical resources and expertise.

Meaning of Technical Feasibility-

Technical feasibility addresses major issues:


Is the proposed technology or solution practical?

23 | P a g e

The technology for any defined solution is normally available. The question is whether that technology is mature enough to be easily applied to our problems. Some firms like to use state-of-the-art technology, but most firms prefer to use mature and proven technology. A mature technology has a larger customer base for obtaining advice concerning problems and improvements.

Whether the required resources are available? Manpower programmers, testers & debuggers

Software and hardware Technical feasibility parameters involved:

Do we have the right technical inputs / clarity of this project? Do we have the right technical skills to take up this project? Do we have the right tools to take up this project? Do we have the right understanding of the concept and deliverable that the customer desires to have?

TECHNICAL FEASIBILITY OF PROJECT The project Inventory level indicator is technically feasible because of the following reason:

All the resources are available (i.e. software and hardware). The portal to be produced use the technology VISUAL BASIC 2008 using the language C# that will enable a cyber visitor to easily use the portal and to draw the visitor to explore the project. The project uses Microsoft SQL Server 2005 as a database in back end, a very capable database program.

Operational feasibility: -Operational feasibility is a measure of how well a proposed system solves the problems, and takes advantage of the opportunities identified during scope definition and how it satisfies the requirements identified in the requirements analysis phase of system development.


Analyze the problem: - means understand the problem i.e. to identify the program specifications and identifying minimum number of inputs required for the output. Requirements Analysis is done in order to understand the problem for which the software system is to solve. For example, the problem could be automating an existing manual process, or developing a completely new automated system, or a combination of the two.


Design: - The purpose of the design phase is to plan a solution of the problem specified by the requirement document. This phase is the first step in moving from problem domain to the solution domain. A design methodology is a systematic approach to creating a design by application of set of techniques and guidelines. Most methodologies focus on system design


Code Programs: - This means to translate the algorithm into programming language. While coding proper arithmetic and logical operations required for solution. Once the design is complete, most of the major decisions about the system have been made. The goal of the coding phase is to translate the design of the system into code in a given programming language. For a given design, the aim of this phase is to implement the design in the best possible manner. The coding phase affects both testing and maintenance


Test and Debug programs: - Algorithm has been coded, the next step is to test and debug the program. Testing is process of finding errors and debugging is the process of correcting errors Just after development phase, testing is carried out to know the outcome of application. Testing is made to know the actual result and the expected result.


Implementation - The implementation stage of any project is a true display of the defining moments that make a project a success or a failure. The implementation stage is defined as "the system or system modifications being installed and made operational in a production environment. The phase is initiated after the system has been tested and accepted by the user.

25 | P a g e 8.

Maintenance: - Maintenance includes all the activity after the installation of software that is performed to keep the system operational. Involves modifying the programs to remove previously undetected errors, to enhance the program with different features or Functions. DATA FLOW DIAGRAM

A data flow diagram is graphical representation that depicts the information flow and the transforms that are applied as date moves from input to output. It can be used to represent software at any level of abstraction. In fact DFDs may be partitioned in to levels. That represents increasing information flow and functional details. DFDs are defined in levels with every level decreasing the level of abstraction as well as defining a greater detail of the functional organs of the system. Context Diagrams:


A context diagram is a top level (also known as Level 0) data flow diagram. It only contains one process node (process 0) that generalizes the function of the entire system in relationship to external entities.

Fig.7-DFD0 A zero level DFD also known as context or fundamental system model represents the entire software elements as a single bubble with input and output data entities which are indicated as incoming and outgoing arrows. Data Flow Diagram helps understanding the basic flow of data from one process to another process.

27 | P a g e


DFD level 1:

The first level DFD shows the main processes within the system. Each of these processes can be broken into further processes until you reach pseudo code.

Fig.7- DFD1


DFD Level 2:

Draw data flow diagrams in several nested layers. A single process node on a high level diagram can be expanded to show a more detailed data flow diagram. Draw the context diagram first, followed by various layers of data flow diagrams.

Fig.8- DFD2

29 | P a g e


This is the most common and classic of life cycle models, also referred to as a linearsequential life cycle model. It is very simple to understand and use. In a waterfall model, each phase must be completed in its entirely before the next phase can begin. At the end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue or discard the project. Unlike what I mentioned in the general model, phases do not overlap in a waterfall model.

Fig.9 Model To Be Followed

CHAPTER - 2 REQUIREMENTS Hardware Requirement:


Processor RAM Hard disk Monitor Keyboard Mouse

: : : : : :

Intel Core Duo 2.0 GHz or more 1 GB or More 80GB or more 15 CRT, or LCD monitor Normal or Multimedia Compatible mouse

31 | P a g e

Software Requirement:


Front End Back End Operation System

: : :

Php MySql Server Windows XP with server pack 2 Or Windows Vista Or Windows 7


What is PHP?

PHP stands for PHP: Hypertext Preprocessor PHP is a server-side scripting language, like ASP PHP scripts are executed on the server PHP supports many databases (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, etc.)

PHP is an open source software PHP is free to download and use

What is a PHP File?

PHP files can contain text, HTML tags and scripts PHP files are returned to the browser as plain HTML PHP files have a file extension of ".php", ".php3", or ".phtml"

PHP is a widely-used general-purpose server-side scripting language that can be embedded into HTML. You can think of it as a "plug-in" for your Web server that will allow it to do more than just send plain Web pages when browsers request them. With PHP installed, your Web server will be able to read a new kind of file (called a PHP script) that can do things like retrieve up-to-the-minute information from a database and insert it into a Web page before sending it to the browser that requested it.

33 | P a g e


Server side scripting language Free Software (PHP License) Supports many databases (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC etc.)

Runs on different platforms (Windows, Linux, Unix, etc.) Compatible with almost all servers used today (Apache, IIS, etc.)

A Simple PHP-Enabled Page: <html> <head> <title>PHP Test</title> </head> <body> <?php </body> </html> <html> <head> <title>PHP Test</title> </head> <body> <p>Hello World</p> echo '<p>Hello World</p>'; ?>

</body> </html>

35 | P a g e

Why PHP? PHP runs on different platforms (Windows, Linux, Unix, etc.) PHP is compatible with almost all servers used today (Apache, IIS, etc.) PHP is FREE to download from the official PHP resource: PHP is easy to learn and runs efficiently on the server side

What is MySQL?

MySQL is a database server MySQL is ideal for both small and large applications MySQL supports standard SQL MySQL compiles on a number of platforms MySQL is free to download and use


PHP combined with MySQL are cross-platform (you can develop in Windows and serve on a Unix platform)

MySQL is a relational database management system, or RDBMS. It has become the world's most popular open source database because of its consistent fast performance, high reliability and ease of use. PHP has MySQL extension which makes it really easy to access data in MySQL. Reasons for using MySQL:

Scalability and Flexibility can handle embedded applications and massive data warehouses

2. 3. 4. 5. 6. 7. 8. 9.

High Performance unique storage engine architecture High Availability highspeed master/slave replication configurations Robust Transactional Support ACID (atomic, consistent, isolated, durable) transaction support distributed transaction capability multiversion transaction support Web and Data Warehouse Strengths highperformance query engine good storage architecture for data warehousing Strong Data Protection SSH and SSL support powerful data encryption and decryption functions Comprehensive Application Development libraries to embed MySQL datasupport into nearly any application connectors and drivers (ODBC, JDBC) Management Ease automatic space expansion, autorestart, and dynamic configuration suite of graphical management and migration tools Open Source Freedom and 24 x 7 Support

37 | P a g e 10.

Lowest Total Cost of Ownership

Connecting to MySQL

Specify host, user and password $ mysql h hostname u user p

Batch mode Running scripts from shell $ mysql h host u user p < batchfile Running scripts from mysql command line mysql> source filename; or mysql> \. Filename

The Access Privilege System

Authenticate a user who connects to the server Associates a user with privileges on a database such as SELECT, INSERT, UPDATE, and DELETE. Distinguishes users connecting from different host

39 | P a g e


Admin Login:

Login Form Username Password Text Text

Add Movie Date Start time End time Name of the movie Category Cast Director Duration Text Text Text Text Text Text Text Text(minute s)

User Login:

Login Form Username Password Text Text

Register(not a user) Username Password Re-type password Name Address Phone number Text Text Text Text Text Text

41 | P a g e



The first query is SELECT * FROM b; that displays all the information contained inside the booking table whose attributes are- BookingID, CustomerID, ShowID, Reference Number, NumOfTickets and Amount:


The second query is SELECT * FROM rainbowentertainment.customer c; that displays all the information contained inside the customer table whose attributes are- CustomerID, UserName, Password, Name, Address and Phone:

43 | P a g e


The third query is SELECT * FROM rainbowentertainment.hall h; that displays all the information contained inside the hall table whose attributes are: HallID, TheaterID, Capacity, HallNumber:


The fourth query is SELECT * FROM m; that displays all the information contained inside the movie table whose attributes are- MovieID, Name, Category, Cast, Director, Duration:

45 | P a g e


The fifth query is SELECT * FROM rainbowentertainment.shows s; that displays all the information contained inside the shows table whose attributes are- ShowID, MovieID, HallID, Date, StartTime, EndTime, TicketsBooked :


The sixth query is SELECT * FROM t; that displays all the information contained inside the theater table whose attributes are- TheaterID, Name, Location, NumOfHalls:

47 | P a g e


Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing also provides an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs. Software testing can also be stated as the process of validating and verifying that a software program/application/product:

Meets the business and technical requirements that guided its design and development; Works as expected Can be implemented with the same characteristics.

Software testing, depending on the testing method employed, can be implemented at any time in the development process. However, most of the test effort occurs after the requirements have been defined and the coding process has been completed. As such, the methodology of the test is governed by the software development methodology adopted. Different software development models will focus the test effort at different points in the development process. Newer development models, such as Agile, often employ test driven development and place an increased portion of the testing in the hands of the developer, before it reaches a formal team of testers. In a more traditional

model, most of the test execution occurs after the requirements have been defined and the coding process has been completed.

Testing methods

The box approach Software testing methods are traditionally divided into white- and black-box testing. These two approaches are used to describe the point of view that a test engineer takes when designing test cases.

White box testingWhite box testing is when the tester has access to the internal data structures and algorithms including the code that implement these.

The following types of white box testing exist:

API testing (application programming interface) - testing of the application using public and private APIs Code coverage - creating tests to satisfy some criteria of code coverage (e.g., the test designer can create tests to cause all statements in the program to be executed at least once)

Fault injection methods - improving the coverage of a test by introducing faults to test code paths Mutation testing methods Static testing - White box testing includes all static testing

Test Cases

Check for Duplicate Entry:

49 | P a g e

Test is conducted to check whether the Duplicate entries are updating in the Database or a message is displayed for the duplicate entry.
Entry in Database is Updated or Not:

Test is conducted to check whether all the new Entries for the Category /Author/supplier table are successful updated or not.

Modification is being done Properly or Not: Test is conducted to check whether all the Modifications for the Category /Author/supplier table are successful updated or not.

Deletion is being done Properly or Not: Test is conducted to check whether all the Deletions for the Category /Author/supplier table are successful updated or not.


Can be Introduced in a Website: This Application can be introduced in a Website, so that users can reserve their seats for their favorite show by booking it while sitting at home...

Can be Improved and Work on Large Scale: This Application can be improved further by introducing new features to it like certain food coupons, online payment, and adding users comments and feedbacks..

51 | P a g e


PHP 5.3 by Cal Evans, Tata McGraw Hill PHP 6 by Julie Meloni, Matt Telles,2008 edition ( Build Your Own Database Driven Website Using PHP & MySQL-By Kevin yank Learning PHP & MySQL-By OReilly MySQL In A Nutshell-By OReilly PHP Programming Solutions-By Vikram Vasvani