2014-01-08 22 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