[英]I need help using a dropdown menu to $_GET from a MySQL table using LIKE from a group of tags
所以我有一個附有多個類別的項目表。 我一直遇到問題。 這是我的代碼片段:
<form class="forms" action="form.php" method="get">
<fieldset>
<legend>Sort by Category</legend>
<select name="tags">
<option value="business" title="Business">Business</option>
<option value="environmental" title="Environmental">Environmental</option>
<option value="hospitality" title="Hospitality">Hospitality</option>
</select><input type="submit" class="inputButton" value="Select Category" />
</fieldset>
</form>
<?php
$tags = $_GET['tags'];
$connection = mysql_connect($local,$user,$pass) or die (mysql_errno().' : '.mysql_error().'<br />');
mysql_select_db($db);
$query = 'SELECT * FROM awards WHERE active=1 ORDER BY name';
$result = mysql_query($query);
$num = mysql_num_rows($result);
while ($row = mysql_fetch_array($result))
{
if ($tags == 'business')
{
$where = "SELECT * FROM awards WHERE active=1 AND
tags LIKE '%business%' ORDER BY name";
}
else if ($tags == 'environmental')
{
$where = "SELECT * FROM awards WHERE active=1 AND
tags LIKE '%environmental%' ORDER BY name";
}
else if ($tags == 'hospitality')
{
$where = "SELECT * FROM awards WHERE active=1 AND
tags LIKE '%hospitality%' ORDER BY name";
}
else
{
$where = 'SELECT * FROM awards WHERE active=1 ORDER BY name';
$title = 'Awards in Alphabetical Order';
}
}
include 'conn.php';
$connection = mysql_connect($local,$user,$pass) or die (mysql_errno().' : '.mysql_error().'<br />');
mysql_select_db($db);
$query = 'SELECT * FROM awards $where';
$result = mysql_query($query);
$num = mysql_num_rows($result);
?>
然后,回聲等,我沒有問題。 我似乎無法讓它僅提取我想要的記錄。 我會以錯誤的方式處理嗎? 我表中的行“標簽”具有多個逗號分隔的值。 因此,如果有人選擇“業務”,則不應拉出任何沒有“業務”作為標記之一的記錄。 我應該將我的“標簽”作為單獨的行嗎?
<?php
$tags = $_GET['tags'];
if ($tags == 'business' || $tags == 'environmental' || $tags == 'hospitality')
{
$where = "SELECT * FROM awards WHERE active=1 AND
tags LIKE '%$tags%' ORDER BY name";
}
else
{
$where = 'SELECT * FROM awards WHERE active=1 ORDER BY name';
$title = 'Awards in Alphabetical Order';
}
include 'conn.php';
$connection = mysql_connect($local,$user,$pass) or die (mysql_errno().' : '.mysql_error().'<br />');
mysql_select_db($db);
$result = mysql_query($where);
$num = mysql_num_rows($result);
while ($row = mysql_fetch_array($result)){
//echo here whatever u want from the rows fetched with matching tags
}
並且您應該開始使用PHP PDO進行數據庫訪問,因為此處使用的方法即將貶值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.