搜索sql数据并在php上显示

时间:2014-01-08 13:38:19

标签: php mysql

这是转贴,但我以前的转发不会让我编辑。我正在尝试从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>";
            }

基本上我尝试做的只是显示数据库中的所有属性,然后允许用户根据位置过滤结果。如果他们在伦敦打字,只会显示伦敦的房产。

2 个答案:

答案 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。