这是转贴,但我以前的转发不会让我编辑。我正在尝试从html / php页面获取详细信息,并允许用户“搜索”结果页面,但是,当我输入搜索词时,search.php页面上不会显示任何内容。
HTML / PHP显示当前详细信息+ searchbox:
<form method="post" action="search.php">
<input type="text" name="search" />
<input type="submit" name="submit" value=" Search ">
</form>
<div id="leftdiv" style="width: 40%; float:left">
<form id="form1" method="get">
<table id="table">
<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>
</form>
</div>
searchresults.php代码:
$search=$_POST['search'];
$sql="SELECT * FROM Property
WHERE pLocation like 'search%'";
$result=mysql_query($sql) or die(mysql_error());
while ($row=mysql_fetch_array($result))
{
$pID = $row['pID'];
$pLocation = $row['pLocation'];
echo "<tr data-row='$pID'>";
echo "<td>".$pID."</td>";
echo "<td>".$pLocation."</td></tr>";
}
基本上我尝试做的只是显示数据库中的所有属性,然后允许用户根据位置过滤结果。如果他们在伦敦打字,只会显示伦敦的房产。
答案 0 :(得分:0)
好的尝试一下:我已经逃过了搜索,如果你没有得到任何结果,我又添加了一个其他案例:
$search= mysql_real_escape_string($_POST['search']);
$sql="SELECT * FROM Property
WHERE pLocation like '".$search."%'";
$result=mysql_query($sql) or die(mysql_error());
if (count($result)) {
while ($row=mysql_fetch_array($result))
{
$pID = $row['pID'];
$pLocation = $row['pLocation'];
echo "<tr data-row='$pID'>";
echo "<td>".$pID."</td>";
echo "<td>".$pLocation."</td></tr>";
}
} else {
echo "<tr><td colspan='3'>No results found.</td></tr>";
}
注意:这是this question
的后续内容答案 1 :(得分:0)
您的查询应该是
$sql = "SELECT * FROM Property WHERE pLocation like '$search%'";
请注意,这不是一个好方法 - 正如之前的评论所提到的,您使用的是不推荐使用的数据库API,而且您自己也容易受到SQL注入攻击。
我想知道为什么你添加了javascript作为第一个标签,这里没有多少js。