我仍在學習和任何幫助,將不勝感激。 HTML是相當簡陋的骨骼。沒有樣式或類似的東西,所有在本地主機上進行測試。所以我沒有一個活的例子。php搜索,顯示基於搜索返回的php模板
我只使用PHP和phpmyadmin中的表。我有的文件是index.php(表單在這裏),search.php(搜索代碼存儲在這裏),provider1.php,provider2.php,provider3.php,provider4.php。
到目前爲止,我有一個與這些列存儲的表:提供者,州全名,城市,州,郵政編碼。我有一個搜索表單,用戶輸入一個郵政編碼,如果郵政編碼匹配表中的一行,它會查看提供者,檢查它是哪一個(provider1,provider2,provider3,provider4)。在search.php上回應出他們有多少選擇,城市狀態來自郵政編碼,然後也迴應他們輸入的郵政編碼。
我的問題是如何告訴它,所以如果該郵政編碼有一個提供者,使用該provider.php。例如:
92804 = provider1,所以然後使用provider1.php,並仍然迴應他們的城市和州與該郵政編碼。
的index.php:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>search</title>
</head>
<body>
<form action="search.php" method="get">
<input type="text" name="search" placeholder="zipcode..."/>
<input type="submit" value=">>"/>
</form>
</body>
</html>
的search.php:
<?php
mysql_connect("localhost","root","root") or die("could not connect");
mysql_select_db("zipcodes") or die("could not find db");
//collect
if (isset($_GET['search'])) {
$searchq = $_GET['search'];
$searchq = preg_replace("#[^0-9a-z]#i","",$searchq);
$query = mysql_query("SELECT * FROM `TABLE 1` WHERE `Zip Code` = '$searchq'") or die("could not search");
$count = mysql_num_rows($query);
if($count == 0) {
$output = 'There was no search results!!';
}else {
while($row = mysql_fetch_array($query)) {
$city = $row['City'];
$state = $row['State'];
$provider = $row['Provider Name'];
$output = '<div> '.$provider.' '.$city.' '.$state.' </div>';
}
}
}
switch ($provider) {
case "provider1":
//put code here that tells it to use provider1.php
break;
case "provider2":
//put code here that tells it to use provider2.php
break;
case "provider3":
//put code here that tells it to use provider3.php
break;
case "provider4":
//put code here that tells it to use provider4.php
break;
default:
echo "No provider, try again";
}
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title><?php echo $provider ?> in <?php echo $city ?>, <?php echo $state ?></title>
</head>
<body>
This is just a results page for testing. This page needs to know what zip to match to a provider, then go to that page.
<p>You have <?php echo $count ?> choices</p>
<p>Your provider is <?php echo $provider ?></p>
<p>You are located in <?php echo $city ?>, <?php echo $state ?> </p>
<p>The zip code you searched was <?php echo $searchq ?></p>
</body>
</html>
provider1.php:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title><?php echo $provider ?> in <?php echo $city ?>, <?php echo $state ?></title>
</head>
<body>
This would be a template for provider1
<p>You have <?php echo $count ?> choices</p>
<p>You are located in <?php echo $city ?>, <?php echo $state ?> </p>
<p>The zip code you searched was <?php echo $searchq ?></p>
</body>
</html>
這是可能的嗎?還是我需要使用類似laravel的東西來啓動它或某種類型的框架。
我不知道我可以只使用「包含」,然後是我需要的模板。這很簡單,並做到這一點。這可能是一個新問題,或者你可以指向正確的方向,當它搜索時,url是/search-zip.php?search=92804。有沒有辦法清理這個,我看,它看起來像做什麼與PHP路線?任何幫助讚賞。謝謝。 – bootstrap714
是的,您可以做到這一點,您可以將其更改爲/search-zip.php/92804。要做到這一點,你可以使用重寫規則,對它們進行一些研究。根據您的意思清理URL的術語有時稱爲「漂亮的URL」,在網絡上搜索這些內容也會返回一些與您的問題相關的結果。 – Pepzter9