【发布时间】:2014-01-08 12:59:57
【问题描述】:
您好,我有一个 SQL 数据库,其中包含有关属性的信息。在此之上,我有一个搜索按钮,它搜索 propertyLocation 字段以显示相关的。
例子:
Property ID 1, 5 Bedroom House, London
Property ID 2, 3 Bedroom House, Scotland
Property ID 3, 2 Bedroom Flat, Cardiff.
在顶部,我要做的就是进行搜索,如果用户键入“london”,则只会显示属性 ID 1。我似乎无法让它工作!我的代码如下:
显示属性和搜索框:
<table id="propertyTable">
<form method="post" action="search.php">
<input type="text" name="search" />
<input type="submit" name="submit" value=" Search ">
</form>
<th>Property ID</th>
<th>Property Name</th>
<?php
$result = mysql_query("SELECT * FROM Property");
while ($row = mysql_fetch_array($result))
{
$pID = $row['pID'];
$pLocation = $row['pLocation'];
echo "<tr data-row='$pID'><td>$pID</td>";
echo "<td>".$pID."</td>";
echo "<td>".$pLocation."</td>";
}
?>
</table>
Search.php 代码:
<?php
$sql="SELECT * FROM Property
WHERE pLocation like '$search%'";
$result=mysql_query($sql, $db) or die(mysql_error());
while ($row=mysql_fetch_array($result))
{
$pID=$row["pID"];
$pLocation=$row["pLocation"];
}
?>
请注意,我在顶部连接到我的数据库。第一个表单确实显示了属性,但是搜索不起作用。
任何帮助将不胜感激!
我不断收到错误,使用未定义的常量搜索和未定义的变量 DB...
-
错误已修复,导致 search.php 但没有显示!当前 search.php 代码为:
"; echo "".$pID.""; echo "".$pLocation.""; } ?>
【问题讨论】:
-
你看到$result是否有一些结果了吗?您是否尝试在您的 sql 管理器上启动查询?
-
如果您在db中的条目是
something somethinelse London,并且您搜索London就像London%一样不起作用,您最好尝试%London% -
抱歉,我不知道该怎么做。我对此完全陌生..
-
你在哪里将数据传递给 $search 变量?
-
试着理解我在说什么。我假设 $search 是用户输入的字符串?因此,如果它是
London,它将在您的查询中变为London%,因为在查询中使用了'$search%'。您需要在开始时传递通配符。了解 MySQL LIKE SEARCH