まだコーディングするのが全く新しいです。しかし、私はStack Overflowと自分の基礎知識を使って、データベースから郵便番号を検索し、半径の結果を表示するスクリプトを作成しました。また、コードの一部で町を検索することもできます。しかし町は移動できない別のデータベースにあります。だから私はそれを複雑に見えるように簡素化したいの下にコード化されています。誰も助けることができますか?また、データベースを検索している間。それをやっている間に「検索」という言葉のようなものを追加したいと思います。スクリプトを簡略化する方法
<?php
$postcode = str_replace('+', '%20', $postcode);
$postcode = str_replace('!"£$^&*()?<>', '', $postcode);
include ('config.php');
$sqlstring = "SELECT * FROM postcodelatlng WHERE postcode LIKE '".$postcode." %' OR postcode = '".$postcode."' ";
$result = mysql_query($sqlstring);
$row = mysql_fetch_assoc($result);
$lng = $row["longitude"]/180 * M_PI;
$lat = $row["latitude"]/180 * M_PI;
mysql_free_result($result);
$sqlstring2 = "SELECT DISTINCT
postcodelatlng.postcode,
(
6367.41 * SQRT(
2 * (
1- COS(RADIANS(postcodelatlng.latitude)) * COS(".$lat.") * (
SIN(RADIANS(postcodelatlng.longitude)) * SIN(".$lng.") + COS(RADIANS(postcodelatlng.longitude)) * COS(".$lng.")
) - SIN(RADIANS(postcodelatlng.latitude)) * SIN(".$lat.")
)
)
) AS Distance
FROM
postcodelatlng AS postcodelatlng
HAVING Distance <= '".$radius."'
ORDER BY Distance ";
$i = 1;
$result1 = mysql_query($sqlstring2) or die('query failed: ' . mysql_error());
while($row = mysql_fetch_array($result1)){
$searchlets = "SELECT * FROM property_details WHERE postcode = '".$row['postcode']."' ";
$getresult = mysql_query($searchlets);
while($row2 = mysql_fetch_array($getresult)) {
echo ' <div class="container">
<div class="row">
<a href="viewprop.php?id='.$row2[0].'" target="_blank">
<div class="col-md-12">
<div class="col-md-12 col-md-offset-0 innerResults col-xs-12" align="justify">
<div class="col-md-2 col-xs-12">
<img src="images/rentals/1.jpg" width="80%" height="80%" />
</div>
<div class="col-md-8 col-xs-12">
<h3 class="rbgclr1" style="text-align:left;">'. $row2[13]. '</h3>
<hr>
<p class="rbgclr1" style="text-align:left;">'. $row2[9]. '</p>
</div>
<div class="col-md-2 col-xs-12">
<h4 class="rbgclr2">£'. $row2[2]. ' Per Month</h3>
<h5 class="rbgclr1">£'. $row2[3]. ' Deposit</h4>
<br />
<p class="rbgclr1">Bedrooms = '. $row2[4]. '</p>
<div class="fb-share-button" data-href="viewprop.php?id='.$row2[0].'" data-layout="button_count" data-mobile-iframe="true"></div>
</div>
</div>
</div>
</a>
</div>
</div>
<br />';
if ($i != 0 && $i%2 == 0)
echo '<hr/>';
}
}
$searchlets2 = "SELECT * FROM property_details WHERE street = '".$postcode."' ";
$getresult2 = mysql_query($searchlets2);
while($row3 = mysql_fetch_array($getresult2)) {
echo ' <div class="container">
<div class="row">
<a href="viewprop.php?id='.$row3[0].'">
<div class="col-md-12">
<div class="col-md-12 col-md-offset-0 innerResults col-xs-12" align="justify">
<div class="col-md-2 col-xs-12">
<img src="images/rentals/1.jpg" width="80%" height="80%" />
</div>
<div class="col-md-8 col-xs-12">
<h3 class="rbgclr1" style="text-align:left;">'. $row3[13]. '</h3>
<hr>
<p class="rbgclr1" style="text-align:left;">'. $row3[9]. '</p>
</div>
<div class="col-md-2 col-xs-12">
<h4 class="rbgclr2">£'. $row3[2]. ' Per Month</h3>
<h5 class="rbgclr1">£'. $row3[3]. ' Deposit</h4>
<br />
<p class="rbgclr1">Bedrooms = '. $row3[4]. '</p>
<div class="fb-share-button" data-href="viewprop.php?id='.$row3[0].'" data-layout="button_count" data-mobile-iframe="true"></div>
</div>
</div>
</div>
</a>
</div>
</div>
<br />';
if ($i != 0 && $i%2 == 0)
echo '<hr/>';
}
mysqli_close($con);
?>
$ result1や$ result2のような名前は使用しないことをお勧めします。それは不明だ。また、mysqlは廃止され、コードをビューから分離しようとしています。 – Matheno
さて、これを変更しました。 –
私はいくつかのMVCフレームワーク(基本的にHTMLコードとPHPコードを分割)を使用し、JavaScriptとAJAXのいくつかを学ぼうとすることをお勧めします。さもなければ、ページに検索を書く方法と検索が完了したときに結果を表示する方法はありません。 – Richard