2014-01-08 23 views
0

您好我有一个SQL数据库,其中包含有关属性的信息。在此之上,我有一个搜索按钮,它搜索propertyLocation字段以显示相关的内容。试图搜索通过在PHP中显示的SQL数据,不工作

例子:

Property ID 1, 5 Bedroom House, London 
Property ID 2, 3 Bedroom House, Scotland 
Property ID 3, 2 Bedroom Flat, Cardiff. 

在顶部,所有我想要做的就是把其中,如果用户键入“伦敦”唯一属性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代码:。

    “; 回声 ”“ $ PID” “; 回声 ”“ $ pLocation”“;} >
+0

你见过$ result是否有结果吗?你有没有试图在你的SQL管理器上启动查询? – Goikiu

+0

如果你在db中的输入是'something somethinelse London',而你在'London%'上搜索'London',那么它不起作用,你最好试试'%London%' –

+0

对不起,但我不知道该怎么办所以。我对此完全陌生.. – user3173250

回答

1

你需要让你的? $搜索VAR了$ _POST数组:

$search = $_POST['search']; 

编辑:

看到你的第二个错误约DB你说:“请注意,我连接到我的数据库在顶部。 “但是,如果你正在$ DB不确定的,没有与此问题可能跟随其他网页上的语法和使用像假设的连接:

$result=mysql_query($sql) or die(mysql_error()); 

在第一页上有输出呼应你所需要的。以模仿您的搜索结果:

  $pID = $row['pID']; 
      $pLocation = $row['pLocation']; 

      echo "<tr data-row='$pID'>"; 
      echo "<td>".$pID."</td>"; 
      echo "<td>".$pLocation."</td></tr>"; 

我试图修复了一些靠不住的表结构;第一页似乎输出一个长排

+0

我得到两个错误这样做: – user3173250

+0

未定义的变量DB + mysql_query()期望参数2是资源,null给 – user3173250

+0

@ user3173250看我的编辑。 –

0

尝试以下,即初始化与$search变量POST v alue

<?php 

$search = trim($_POST['search']); 

$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"]; 
    } 
?> 
+0

我收到错误“函数名称必须是字符串” – user3173250