PHP/MySQL Zip Shop Finder
- AmieCutie
- Newbie


- Inscription: Aoû 17, 2011
- Messages: 12
- Status: Offline
Ive travaille donc sur une page pour localiser les magasins basés sur le code postal et la distance de mile. J'ai utilisé ce tutoriel comme un portiquehttp://htmlcampusDOTcom/build-a-zip-cod ... on-in-php/
Ive changé quelques choses comme la table mySQL est appelée emplacements au lieu de zip_codes. IVe testé et il se connecte à la base de données et de tous, mais il dit seulement que n'ont été trouvés , même lorsque j'entrer dans un code postal exact de l'une des boutiques (90278 ou 92602).http://bitDOTly/Me2d1M
Voici mon code pour la page (votre mot de passe oublié). J'espère que quelqu'un pouvait repérer ce qui pourrait être mauvais, quelque chose me manquait.
Ive changé quelques choses comme la table mySQL est appelée emplacements au lieu de zip_codes. IVe testé et il se connecte à la base de données et de tous, mais il dit seulement que n'ont été trouvés , même lorsque j'entrer dans un code postal exact de l'une des boutiques (90278 ou 92602).http://bitDOTly/Me2d1M
Voici mon code pour la page (votre mot de passe oublié). J'espère que quelqu'un pouvait repérer ce qui pourrait être mauvais, quelque chose me manquait.
PHP Code: [ Select ]
<?php
// Create page variables
$r = NULL;
$z = NULL;
$shops = NULL;
$Errors = NULL;
// Establish DB connection
mysql_connect ('localhost', 'acq-admin', 'password') or die(mysql_error());
mysql_select_db ('autocareq') or die(mysql_error());
// Declare page functions
function Dist ($lat_A, $long_A, $lat_B, $long_B) {
$distance = sin(deg2rad($lat_A))
* sin(deg2rad($lat_B))
+ cos(deg2rad($lat_A))
* cos(deg2rad($lat_B))
* cos(deg2rad($long_A - $long_B));
$distance = (rad2deg(acos($distance))) * 69.09;
return $distance;
}
### Handle form if submitted
if (isset ($_POST['submitted'])) {
// Validate Zip code field
if (!empty ($_POST['zip']) && is_numeric ($_POST['zip'])) {
$z = (int)$_POST['zip'];
// Verify zip code exists
$query = "SELECT lat, lon FROM locations WHERE zip = '$z'";
$result = mysql_query ($query);
if (mysql_num_rows ($result) == 1) {
$zip = mysql_fetch_assoc ($result);
} else {
$Errors = '<p>The zip code you entered was not found!</p>';
}
}
// Validate radius field
if (isset ($_POST['radius']) && is_numeric ($_POST['radius'])) {
$r = (int)$_POST['radius'];
}
// Proceed if no errors were found
if ($r && $z) {
// Retrieve coordinates of the shops
$shops = array();
$query = "SELECT name, address, city, state, zip, phone, lat, lon
FROM dealerships
INNER JOIN locations
ON dealerships.zip = locations.zip";
$result = mysql_query ($query);
// Go through and check all shops
while ($row = mysql_fetch_assoc ($result)) {
// Separate closest shops
$distance = Dist ($row['lat'], $row['lon'], $zip['lat'], $zip['lon']);
// Check if shop is in radius
if ($distance <= $r) {
$shops[] = array (
'name' => $row['name'],
'address' => $row['address'],
'state' => $row['state'],
'city' => $row['city'],
'zip' => $row['zip'],
'phone' => $row['phone']
);
}
}
} else {
$Errors = ($Errors) ? $Errors : '<p>Errors were found please try again!</p>';
}
}
?><html>
<head>
<title>Pick Your Shop</title>
</head>
<body>
<form action="" method="post">
<p>Enter your zip code below to find the nearest shop</p>
<?php echo ($Errors) ? $Errors : ''; ?>
<div>
<label>Zip:</label>
<input name="zip" type="text" size="10" maxlength="5" />
</div>
<div>
<label>Search Area:</label>
<select name="radius" id="radius">
<option value="5">5 mi.</option>
<option value="10">10 mi.</option>
<option value="15">15 mi.</option>
<option value="20">20 mi.</option>
</select>
</div>
<div>
<input type="hidden" name="submitted" value="submitted" />
<input type="submit" value="Submit" />
</div>
</form>
<?php
if (isset ($shops)) {
if (!empty ($shops)) {
echo '<p><strong>' . count ($shops) . ' results were found.</strong></p>';
foreach ($shops as $value) {
echo '<p><strong>' . $value['name'] . '</strong><br />';
echo $value['address'] . '<br />';
echo $value['city'] . ', ' . $value['state'] . ' ' . $value['zip'];
echo ' <a target="_blank" href="http://maps. google. com/maps?q=',
$value['address'], ' ',
$value['city'], ', ',
$value['state'], ' ',
$value['zip'],
'">Map this location</a><br />';
echo 'Phone: ' . $value['phone'];
echo '</p>';
}
} else {
echo '<p><strong>No results found</strong></p>';
echo '<p><strong>' . $z . '</strong><br />';
}
}
?>
</body>
</html>
// Create page variables
$r = NULL;
$z = NULL;
$shops = NULL;
$Errors = NULL;
// Establish DB connection
mysql_connect ('localhost', 'acq-admin', 'password') or die(mysql_error());
mysql_select_db ('autocareq') or die(mysql_error());
// Declare page functions
function Dist ($lat_A, $long_A, $lat_B, $long_B) {
$distance = sin(deg2rad($lat_A))
* sin(deg2rad($lat_B))
+ cos(deg2rad($lat_A))
* cos(deg2rad($lat_B))
* cos(deg2rad($long_A - $long_B));
$distance = (rad2deg(acos($distance))) * 69.09;
return $distance;
}
### Handle form if submitted
if (isset ($_POST['submitted'])) {
// Validate Zip code field
if (!empty ($_POST['zip']) && is_numeric ($_POST['zip'])) {
$z = (int)$_POST['zip'];
// Verify zip code exists
$query = "SELECT lat, lon FROM locations WHERE zip = '$z'";
$result = mysql_query ($query);
if (mysql_num_rows ($result) == 1) {
$zip = mysql_fetch_assoc ($result);
} else {
$Errors = '<p>The zip code you entered was not found!</p>';
}
}
// Validate radius field
if (isset ($_POST['radius']) && is_numeric ($_POST['radius'])) {
$r = (int)$_POST['radius'];
}
// Proceed if no errors were found
if ($r && $z) {
// Retrieve coordinates of the shops
$shops = array();
$query = "SELECT name, address, city, state, zip, phone, lat, lon
FROM dealerships
INNER JOIN locations
ON dealerships.zip = locations.zip";
$result = mysql_query ($query);
// Go through and check all shops
while ($row = mysql_fetch_assoc ($result)) {
// Separate closest shops
$distance = Dist ($row['lat'], $row['lon'], $zip['lat'], $zip['lon']);
// Check if shop is in radius
if ($distance <= $r) {
$shops[] = array (
'name' => $row['name'],
'address' => $row['address'],
'state' => $row['state'],
'city' => $row['city'],
'zip' => $row['zip'],
'phone' => $row['phone']
);
}
}
} else {
$Errors = ($Errors) ? $Errors : '<p>Errors were found please try again!</p>';
}
}
?><html>
<head>
<title>Pick Your Shop</title>
</head>
<body>
<form action="" method="post">
<p>Enter your zip code below to find the nearest shop</p>
<?php echo ($Errors) ? $Errors : ''; ?>
<div>
<label>Zip:</label>
<input name="zip" type="text" size="10" maxlength="5" />
</div>
<div>
<label>Search Area:</label>
<select name="radius" id="radius">
<option value="5">5 mi.</option>
<option value="10">10 mi.</option>
<option value="15">15 mi.</option>
<option value="20">20 mi.</option>
</select>
</div>
<div>
<input type="hidden" name="submitted" value="submitted" />
<input type="submit" value="Submit" />
</div>
</form>
<?php
if (isset ($shops)) {
if (!empty ($shops)) {
echo '<p><strong>' . count ($shops) . ' results were found.</strong></p>';
foreach ($shops as $value) {
echo '<p><strong>' . $value['name'] . '</strong><br />';
echo $value['address'] . '<br />';
echo $value['city'] . ', ' . $value['state'] . ' ' . $value['zip'];
echo ' <a target="_blank" href="http://maps. google. com/maps?q=',
$value['address'], ' ',
$value['city'], ', ',
$value['state'], ' ',
$value['zip'],
'">Map this location</a><br />';
echo 'Phone: ' . $value['phone'];
echo '</p>';
}
} else {
echo '<p><strong>No results found</strong></p>';
echo '<p><strong>' . $z . '</strong><br />';
}
}
?>
</body>
</html>
- <?php
- // Create page variables
- $r = NULL;
- $z = NULL;
- $shops = NULL;
- $Errors = NULL;
- // Establish DB connection
- mysql_connect ('localhost', 'acq-admin', 'password') or die(mysql_error());
- mysql_select_db ('autocareq') or die(mysql_error());
- // Declare page functions
- function Dist ($lat_A, $long_A, $lat_B, $long_B) {
- $distance = sin(deg2rad($lat_A))
- * sin(deg2rad($lat_B))
- + cos(deg2rad($lat_A))
- * cos(deg2rad($lat_B))
- * cos(deg2rad($long_A - $long_B));
- $distance = (rad2deg(acos($distance))) * 69.09;
- return $distance;
- }
- ### Handle form if submitted
- if (isset ($_POST['submitted'])) {
- // Validate Zip code field
- if (!empty ($_POST['zip']) && is_numeric ($_POST['zip'])) {
- $z = (int)$_POST['zip'];
- // Verify zip code exists
- $query = "SELECT lat, lon FROM locations WHERE zip = '$z'";
- $result = mysql_query ($query);
- if (mysql_num_rows ($result) == 1) {
- $zip = mysql_fetch_assoc ($result);
- } else {
- $Errors = '<p>The zip code you entered was not found!</p>';
- }
- }
- // Validate radius field
- if (isset ($_POST['radius']) && is_numeric ($_POST['radius'])) {
- $r = (int)$_POST['radius'];
- }
- // Proceed if no errors were found
- if ($r && $z) {
- // Retrieve coordinates of the shops
- $shops = array();
- $query = "SELECT name, address, city, state, zip, phone, lat, lon
- FROM dealerships
- INNER JOIN locations
- ON dealerships.zip = locations.zip";
- $result = mysql_query ($query);
- // Go through and check all shops
- while ($row = mysql_fetch_assoc ($result)) {
- // Separate closest shops
- $distance = Dist ($row['lat'], $row['lon'], $zip['lat'], $zip['lon']);
- // Check if shop is in radius
- if ($distance <= $r) {
- $shops[] = array (
- 'name' => $row['name'],
- 'address' => $row['address'],
- 'state' => $row['state'],
- 'city' => $row['city'],
- 'zip' => $row['zip'],
- 'phone' => $row['phone']
- );
- }
- }
- } else {
- $Errors = ($Errors) ? $Errors : '<p>Errors were found please try again!</p>';
- }
- }
- ?><html>
- <head>
- <title>Pick Your Shop</title>
- </head>
- <body>
- <form action="" method="post">
- <p>Enter your zip code below to find the nearest shop</p>
- <?php echo ($Errors) ? $Errors : ''; ?>
- <div>
- <label>Zip:</label>
- <input name="zip" type="text" size="10" maxlength="5" />
- </div>
- <div>
- <label>Search Area:</label>
- <select name="radius" id="radius">
- <option value="5">5 mi.</option>
- <option value="10">10 mi.</option>
- <option value="15">15 mi.</option>
- <option value="20">20 mi.</option>
- </select>
- </div>
- <div>
- <input type="hidden" name="submitted" value="submitted" />
- <input type="submit" value="Submit" />
- </div>
- </form>
- <?php
- if (isset ($shops)) {
- if (!empty ($shops)) {
- echo '<p><strong>' . count ($shops) . ' results were found.</strong></p>';
- foreach ($shops as $value) {
- echo '<p><strong>' . $value['name'] . '</strong><br />';
- echo $value['address'] . '<br />';
- echo $value['city'] . ', ' . $value['state'] . ' ' . $value['zip'];
- echo ' <a target="_blank" href="http://maps. google. com/maps?q=',
- $value['address'], ' ',
- $value['city'], ', ',
- $value['state'], ' ',
- $value['zip'],
- '">Map this location</a><br />';
- echo 'Phone: ' . $value['phone'];
- echo '</p>';
- }
- } else {
- echo '<p><strong>No results found</strong></p>';
- echo '<p><strong>' . $z . '</strong><br />';
- }
- }
- ?>
- </body>
- </html>
- Anonymous
- Bot


- Inscription: 25 Feb 2008
- Messages: ?
- Loc: Ozzuland
- Status: Online
Juillet 9th, 2012, 3:25 pm
Page 1 sur 1
Pour répondre à ce sujet, vous devez vous connecter ou vous enregistrer. Il est gratuit.
Afficher de l'information
- Total des messages de ce sujet: 2 messages
- Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 213 invités
- Vous ne pouvez pas poster de nouveaux sujets
- Vous ne pouvez pas répondre aux sujets
- Vous ne pouvez pas éditer vos messages
- Vous ne pouvez pas supprimer vos messages
- Vous ne pouvez pas joindre des fichiers
