Jump to content

Archived

This topic is now archived and is closed to further replies.

khan kaka

need help with this php code willing to pay .

Recommended Posts

can some one explain to me how this code works or convert this code to dream weaver style.

i want to be able to bind date and and apply rpeat reagion behaviour .

this is the code:

<?php
//@ $mySQLConnection = mysql_connect("localhost", "ultratune", "u1tr@t00n3");
@ $mySQLConnection = mysql_connect('localhost', 'root', '');
mysql_select_db("ultratune");

$postcode = 3174; /* zipcode */
$suburb = @$_GET["suburb"];
$storename = @$_GET["storename"];
$SearchDistance = 10; /*  km */
$EarthRadius = 6365;

$pc = array();

// if we are searching by city then get the suburb
if (strlen($storename) != 0) {
//echo "by storename";
$qry = "select postcode from stores where storename = '$storename' limit 1";
$recordSetStore = mysql_query($qry);
if (mysql_num_rows($recordSetStore) > 0) {
$result = mysql_fetch_array($recordSetStore);

$pc[$result["state"]] = $result["postcode"];
}
}
else if (strlen($postcode) != 0 && strlen($suburb) != 0) {
//echo "by city";
$qry = "select Min(postcode) as postcode, state from postcodes where city = '$suburb' group by state";
$recordSetPC = mysql_query($qry);
if (mysql_num_rows($recordSetPC) > 0) {
if (mysql_num_rows($recordSetPC) > 1) {

for ($i = 0; $i < $toCount; $i++) {
$currentRow = mysql_fetch_array($recordSetPC);
$pc[$currentRow["state"]] = $currentRow["postcode"];
}
}
else {

$result = mysql_fetch_array($recordSetPC);
$pc[$result["state"]] = $result["postcode"];
}
}
}
else if (strlen($postcode) == 0 && strlen($suburb) != 0) {
//echo "by city 2";
$qry = "select Min(postcode) as postcode, state from postcodes where city = '$suburb' group by state";
$recordSetPC = mysql_query($qry);
if (mysql_num_rows($recordSetPC) > 0) {
if (mysql_num_rows($recordSetPC) > 1) {

for ($i = 0; $i < mysql_num_rows($recordSetPC); $i++) {
$currentRow = mysql_fetch_array($recordSetPC);
$pc[$currentRow["state"]] = $currentRow["postcode"];
}
}
else {

$result = mysql_fetch_array($recordSetPC);
$pc[$result["state"]] = $result["postcode"];
}
}
}
else if (strlen($postcode) != 0) {
//echo "by postcode";
$qry = "select postcode,state from postcodes where postcode = '$postcode' limit 1";
$recordSetStore = mysql_query($qry);
if (mysql_num_rows($recordSetStore) > 0) {
$result = mysql_fetch_array($recordSetStore);

$pc[$result["state"]] = $result["postcode"];
}
}
else {
echo "nothing";
echo "<br>storename = " .strlen($storename);
echo "<br>suburb = " .strlen($suburb);
echo "<br>postcode = " .strlen($postcode);

}


function getLongAndLat($pcode) {
$qry = "select longitude, latitude from postcodes where postcode = $pcode limit 1";
$recordSetLonLat = mysql_query($qry);
$result = mysql_fetch_array($recordSetLonLat);
return "<longitude>" .$result["longitude"] ."</longitude><latitude>" .abs($result["latitude"]) ."</latitude>";
}

if (count($pc) > 0) {

$xmlStr = "<stores>";

while ($item = each($pc) ) {
$xmlStr = "$xmlStr<state name=\"" .$item["key"] ."\">";


$itemPostCode = $item["value"];


$CenterLonQry = mysql_query("select longitude from postcodes WHERE PostCode = $itemPostCode LIMIT 1");
$CenterLonRecord = mysql_fetch_array($CenterLonQry);
$CenterLon = $CenterLonRecord[0];

$CenterLatQry = mysql_query("select latitude from postcodes WHERE PostCode = $itemPostCode LIMIT 1");
$CenterLatRecord = mysql_fetch_array($CenterLatQry);
$CenterLat = $CenterLatRecord[0];

$postCodes = "
SELECT DISTINCT postcodes.PostCode,
MIN($EarthRadius * acos((XAxis * (cos(RADIANS($CenterLat)) * cos(RADIANS($CenterLon)))) + (YAxis * (cos(RADIANS($CenterLat)) * sin(RADIANS($CenterLon)))) +(ZAxis * sin(RADIANS($CenterLat))))) AS ProxDistance,
stores.*
FROM postcodes, stores
WHERE (
$EarthRadius * acos( XAxis * (cos(RADIANS($CenterLat)) * cos(RADIANS($CenterLon))) + YAxis * (cos(RADIANS($CenterLat)) * sin(RADIANS($CenterLon))) + ZAxis * sin(RADIANS($CenterLat))) <= $SearchDistance
OR postcodes.PostCode = $itemPostCode
)
AND stores.PostCode = postcodes.PostCode
GROUP BY postcodes.PostCode
ORDER BY ProxDistance ASC
";



$recordSet = mysql_query($postCodes);
$records = mysql_num_rows($recordSet);


$toCount = min(50, $records-1);


for ($i = 0; $i <= $toCount; $i++) {
$currentRow = mysql_fetch_array($recordSet);
$thisLonLat = getLongAndLat($currentRow["Postcode"]);
$xmlStr = "$xmlStr<location>
<locationName>" .$currentRow["StoreName"] ."</locationName>
<franchisee>" .$currentRow["Franchisee"] ."</franchisee>
<manager>" .$currentRow["Manager"] ."</manager>
<address1>" .$currentRow["Address1"] ."</address1>
<address2>" .$currentRow["Address2"] ."</address2>
<suburb>" .$currentRow["Suburb"] ."</suburb>
<state>" .$currentRow["State"] ."</state>
<postcode>" .$currentRow["Postcode"] ."</postcode>
<phone>" .$currentRow["PhoneNumber"] ."</phone>
<fax>" .$currentRow["FaxNumber"] ."</fax>
<email>" .$currentRow["EmailAddress"] ."</email>
<image>" .$currentRow["Image"] ."</image>
" .$thisLonLat ."
</location>
";
}
$xmlStr = "$xmlStr</state>";
// loop again
}
$xmlStr = "$xmlStr</stores>";

}
else {
$xmlStr = "<stores></stores>";
}
echo "$xmlStr"; 
echo $currentRow["StoreName"];
?>

Share this post


Link to post
Share on other sites
A repeat region is a query and a while loop. I would recommend you to lean how to code in PHP and MySQL and don't use Dreamweaver to code it for you.

If you want someone to it for you then post in the PHP Freelancing forum instead.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.