我希望能够从用户的查询中获得结果,以便在用户点击它时能够打开新页面。返回的查询取决于用户搜索的内容。
我认为可以用来解决这个问题,但我不确定如何。
目前我可以搜索结果并返回匹配的记录,但我实际上无法点击它们,我很难找到一种方法来做到这一点,因为我只会发生错误而我找不到任何错误适用的代码。
我正在尝试实施的流程:
我只是希望能够以允许用户点击它们的方式返回我获得的任何记录,例如标准搜索任何网页。
我的代码如下:
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();
?>
例如,如果这返回“Gull”,我怎么能把它作为另一个页面的链接?
我不确定它是否重要,但我将所有记录都放在一个单独的HTML文件中,如果有必要,我愿意更改。
我对PHP非常不满,并且坦率地讨厌这种语言,但是提前感谢您抽出时间阅读本文以及任何帮助:¬)
答案 0 :(得分:0)
我不确定你在readfile中做了什么(&#34; ViewReturn.html&#34;);如果它返回一个完整的HTML,那么回调函数就会出现问题。因为你会有这样的事情:
<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)。