Buscador de tienda de Zip PHP/MySQL
- AmieCutie
- Newbie


- Registrado: Ago 17, 2011
- Mensajes: 12
- Status: Offline
Tan Ive estado trabajando en una página para localizar tiendas basadas en código postal y la distancia de la milla. He utilizado este tutorial como un tutorialhttp://htmlcampusDOTcom/build-a-zip-cod ... on-in-php/
Ive había cambiado un par de cosas como la tabla de mySQL se llama ubicaciones en lugar de zip_codes. Ive probado y se conecta a la base de datos y todo, pero sólo dice que no se encontraron resultados , incluso cuando entro en un código postal exacto de una de las tiendas (90278 o 92602).http://bitDOTly/Me2d1M
A continuación es mi código de la página (contraseña dejado fuera). Espero que alguien podría identificar lo que podría ser equivocado, algo me perdí.
Ive había cambiado un par de cosas como la tabla de mySQL se llama ubicaciones en lugar de zip_codes. Ive probado y se conecta a la base de datos y todo, pero sólo dice que no se encontraron resultados , incluso cuando entro en un código postal exacto de una de las tiendas (90278 o 92602).http://bitDOTly/Me2d1M
A continuación es mi código de la página (contraseña dejado fuera). Espero que alguien podría identificar lo que podría ser equivocado, algo me perdí.
PHP Código: [ 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


- Registrado: 25 Feb 2008
- Mensajes: ?
- Loc: Ozzuland
- Status: Online
Julio 9th, 2012, 3:25 pm
Página 1 de 1
Para responder a este tema que necesita para ingresar o registrarse. Es gratis.
Publicar Información
- Total de mensajes en este tema: 2 mensajes
- Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 168 invitados
- No puede abrir nuevos temas en este Foro
- No puede responder a temas en este Foro
- No puede editar sus mensajes en este Foro
- No puede borrar sus mensajes en este Foro
- No puede enviar adjuntos en este Foro
