How to pull out information from database using php

I have a database of zipcodes in US. It was dumped in mysql. I wondering to make a php script that can pull out these informations and display to users.

User come to website >> Zipcode Search >>> Information gets pulled from database and being displayed to used.

For example.

http://www.zip-codes.com/zip-code/11369/zip-code-11369.asp

I have attached a code that was added in mysql.

Thanks


/* 1.) Drop Table if it Exists */
DROP TABLE IF EXISTS ZIPCodes;
 
 
/* 2.) Create Table */
CREATE TABLE ZIPCodes (
	ZipCode char(5) NOT NULL,
	PrimaryRecord char(1),
	Population int,
	HouseholdsPerZipcode int,
	WhitePopulation int,
	BlackPopulation int,
	HispanicPopulation int,
	AsianPopulation int,
	HawaiianPopulation int,
	IndianPopulation int,
	OtherPopulation int,
	MalePopulation int,
	FemalePopulation int,
	PersonsPerHousehold decimal(4, 2),
	AverageHouseValue int,
	IncomePerHousehold int,
	Latitude decimal(12, 6),
	Longitude decimal(12, 6),
	Elevation int,
	State char(2),
	StateFullName varchar(35) NULL,
	CityType char(1) NULL,
	CityAliasAbbreviation varchar(13) NULL,
	AreaCode varchar(55) NULL,
	City varchar(35) NULL,
	CityAliasName varchar(35) NULL,
	CountyName varchar(45) NULL,
	CountyFIPS char(5) NULL,
	StateFIPS char(2) NULL,
	TimeZone char(2) NULL,
	DayLightSaving char(1) NULL,
	MSA varchar(35) NULL,
	MSA_Name varchar(150) NULL,
	PMSA char(4) NULL,
	PMSA_Name varchar(150) NULL,
	CSA char(3) NULL,
	CSA_Name varchar(150) NULL,	
	CBSA char(5) NULL,
	CBSA_Type char(5) NULL,
	CBSA_Name varchar(150) NULL,
	CBSA_DIV char(5) NULL,	
	CBSA_DIV_Name varchar(150) NULL,
	Region varchar(10) NULL,
	Division varchar(20) NULL,
	MailingName char(1) NULL,
	PreferredLastLineKey varchar(10) NULL,
	ClassificationCode char(1) NULL,
	MultiCounty char(1) NULL,
	CityStateKey char(6) NULL
);
 
 
/* 3.) Create Indexes on most searched fields */
CREATE INDEX Index_ZIPCodes_ZipCode					 ON ZIPCodes (ZipCode);
CREATE INDEX Index_ZIPCodes_State					 ON ZIPCodes (State);
CREATE INDEX Index_ZIPCodes_CountyName				 ON ZIPCodes (CountyName);
CREATE INDEX Index_ZIPCodes_AreaCode				 ON ZIPCodes (AreaCode);
CREATE INDEX Index_ZIPCodes_City					 ON ZIPCodes (City);
CREATE INDEX Index_ZIPCodes_Latitude				 ON ZIPCodes (Latitude);
CREATE INDEX Index_ZIPCodes_Longitude				 ON ZIPCodes (Longitude);
CREATE INDEX Index_ZIPCodes_CityAliasName			 ON ZIPCodes (CityAliasName);
CREATE INDEX Index_ZIPCodes_PrimaryRecord			 ON ZIPCodes (PrimaryRecord);
CREATE INDEX Index_ZIPCodes_CityStateKey			 ON ZIPCodes (CityStateKey);
 
 
 
/* 4.) Create Extended Column Information */
ALTER TABLE ZIPCodes COMMENT = 'U.S. Zip Code Database  Deluxe (from www.zip-codes.com)';

Open in new window

nomieAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Frosty555Commented:
Basic mysql in php:

1) Connect to the mysql server

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');

2) Select the database you want to use

mysql_select_db($dbname);

3) Execute a query against the database

$result = mysql_query("SELECT * FROM ZIPCodes");

4) Walk through the records

while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
    echo "Zipcode:{$row['zipcode']} <br>" .
         "City: {$row['city']} <br>";
     // process data however you want to, row by row.
}


Close the mysql connection.

mysql_close($conn);



A complete tutorial is available here that walks you through it from beginning to end.

http://www.php-mysql-tutorial.com/
0
nomieAuthor Commented:
I am reading the tutorial but my concern was search. I am very new at this and I am trying to learn how to fetch from database using search.
0
Frosty555Commented:
search for records where a field matches a keyword

SELECT * FROM ZIPCodes WHERE sometextfield LIKE '%somekeyword%'

search for records where a field matches one of several keywords

SELECT * FROM ZIPCodes WHERE sometextfield LIKE '%somekeyword%'
OR sometextfield LIKE '%somekeyword2%'
OR sometextfield LIKE '%somekeyword3%'

search for records where a field contains ALL keywords

SELECT * FROM ZIPCodes WHERE sometextfield LIKE '%somekeyword%'
AND sometextfield LIKE '%somekeyword2%'
AND sometextfield LIKE '%somekeyword3%'

It is all fairly fast so long as your database doesn't grow into the millions of records. Then other searching methods, like keyword tables or fulltext indexes become something worth thinking about.
0
Frosty555Commented:
More info on mysql pattern matching clauses:

http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html

Full-text search and full-text indexes:

http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
PHP

From novice to tech pro — start learning today.