Jump to content


Photo

need help with this php code willing to pay .


  • Please log in to reply
1 reply to this topic

#1 khan kaka

khan kaka
  • Members
  • PipPipPip
  • Advanced Member
  • 40 posts
  • Locationaustralia

Posted 20 October 2006 - 01:23 PM

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"];
?>
khan kaka

#2 wildteen88

wildteen88
  • Staff Alumni
  • Advanced Member
  • 10,482 posts
  • LocationUK, Bournemouth

Posted 29 October 2006 - 03:04 PM

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.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users