[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 390
  • Last Modified:

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

0
nomie
Asked:
nomie
  • 3
1 Solution
 
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

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now