2016-03-05 47 views
-1

我希望能夠根據用戶的查詢生成結果,以便用戶單擊該頁面時能夠打開新頁面。返回的查詢取決於用戶搜索的內容。如何將SQL查詢結果鏈接到唯一頁面

我認爲這可以用來解決這個問題,但我不知道如何。

目前我可以搜索結果並返回匹配記錄,但我實際上無法點擊它們,而我正在努力尋找一種方法來做到這一點,因爲我只是招致錯誤,而我找不到任何適用的代碼。

的過程,我想實現:

  1. 你尋找的東西
  2. 匹配結果返回
  3. 您可以點擊結果(什麼我試圖)
  4. 一頁相關的結果被打開(也是我正在嘗試)

我只是想能夠返回任何記錄我得到讓用戶點擊它們的方式,就像對任何網頁進行標準搜索一樣。

我的代碼如下:

PHP:

<?php 

// Connect to DB 
$servername = ""; 
$username = ""; 
$password = ""; 
$dbname = ""; 

// Create connection 
$conn = new MySQLi($servername, $username, $password, $dbname); 

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

// Collect Data 
// Ensure user input string only has letter characters 
// Unimportant to current problem 
if(isset($_POST["aSearch"])) { 
    $searchq = $_POST["aSearch"]; 
    $searchq = preg_replace("#[^0-9a-z]#i","",$searchq); //Can only search words 

// Select records which match the user's input 
$sql = "SELECT * FROM birdt WHERE birdName LIKE '%$searchq%'"; 
} 

// Tests if the code been inserted 
if ($conn->query($sql)=== TRUE){ 
    echo "The rows you have searched for are:"; 
} else { 
    echo "Connection failed: "; 
    echo $conn->error; 
} 

// Show fields 
$result = $conn->query($sql); 

// Output data of each row 
if ($result-> num_rows> 0) { 
    readfile("ViewReturn.html"); // Returns the file in an HTML Page 
    while($row = $result-> fetch_assoc()) { 
    // echo "ID: ".$row["id"]. "<br>"; 
    echo "Bird Name: ".$row["birdName"]. "<br><br>"; 
    } 
} else { 
    echo "0 results"; 
} 

// Close connections 
if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) { 
    echo "There was an error with MySQLi"; 
} else { 
    echo "Closing Connections"; 
} 

$conn-> close(); 
exit(); 
?> 

例如,如果這將返回 「海鷗」,我怎麼能做出這樣到另一個頁面的鏈接?

我不確定它是否重要,但我將所有記錄都歸還到單獨的HTML文件中,並且我願意在必要時更改此記錄。

我在PHP非常inadept很坦率地說討厭這種語言,但預先感謝您抽出時間來閱讀和任何幫助:¬)

+0

那麼,而不是輸出您從查詢中收到的文字字符串,您可以輸出html錨點(「鏈接」)。就是這麼簡單。如果沒有告訴你什麼,那麼你還不瞭解html的基本概念和網絡的工作方式。不要誤解我的意思,這很好,我們都開始了一次。但是,在這裏給你一些完成的代碼,你將複製和粘貼真的沒什麼意義。相反,您應該投入時間來了解鏈接的實際工作原理。 – arkascha

回答

0

我不知道你在做什麼在readfile(「ViewReturn.html」);如果它返回一個完整的HTML,你將會遇到一個帶有echo函數的問題。你會因爲有這樣的事情:

<html> 

     <body class=""> 

     </body> 
    </html> 
     Bird Name: something<br><br> 
     Bird Name: something<br><br> 

我想你想要的東西,如:

<html> 

     <body class=""> 
     <a href="yourLink"> Bird Name: something<br><br></a> 
     <a href="yourLink"> Bird Name: something<br><br></a> 
     </body> 
    </html> 

對於我改變你這樣的事情代碼:

// Output data of each row 
if ($result-> num_rows> 0) { 
    readfile("StartViewReturn.html"); 
    while($row = $result-> fetch_assoc()) { 
    // echo "ID: ".$row["id"]. "<br>"; 
    echo "<a href="yourLink">Bird Name: ".$row["birdName"]. "</a><br><br>"; 
    } 
    readfile("EndViewReturn.html"); 
} else { 
    echo "0 results"; 
} 

我強烈建議你使用一個框架。它將幫助你組織你的代碼並更多地理解PHP。一開始它可能會令人沮喪,但後來你會喜歡它(我使用Symfony2)。